1
resposta

[Dúvida] Exercício 3

No exercício 3 - Utilize um loop for para calcular a soma dos números ímpares de 1 a 10.

A solução do exercício é feita desse modo:

soma_impares = 0
for i in range(1, 11, 2):
    soma_impares += i
print(soma_impares)

E pelo que eu entendi o range que está criando essa "lista" de números començando no 1, terminando no número anterior a 11 e sendo pulado um número.

Eu tinha entendido que era para calcular a soma a partir da lista já criada por nós. Gostaria de saber se desse modo estaria correto:

lista_numeros = [1,2,3,4,5,6,7,8,9,10]
lista_nomes = ['Guilherme','Lucas','Paulo','Pedro']
lista_anos = ['2000','2024']

soma_impares = 0

for i in lista_numeros:
        if i % 2 == 1:
                soma_impares += i
print(soma_impares)   
1 resposta

Sim, você compreendeu corretamente o exercício, mas há um pequeno erro no seu código. Na condição if i % 2 == 1:, você está tentando calcular a soma dos números ímpares, o que está certo. No entanto, você está usando o operador de módulo (%) para verificar se o número é ímpar. No seu código, você está utilizando a lista de números diretamente, mas o operador de módulo (%) funciona apenas com números individuais, não com listas.

Aqui está uma versão corrigida do seu código:

lista_numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

soma_impares = 0

for i in lista_numeros:
    if i % 2 == 1:
        soma_impares += i

print(soma_impares)

Agora, esse código corrigido deve funcionar corretamente para calcular a soma dos números ímpares na lista que você criou.