1
resposta

[Dúvida] Meu Código fica repetindo , e não mostra os números maiores que 30, mostra todos .

idades_no_ano_que_vem = []
for idade in idades:
  idades_no_ano_que_vem = [(idade+1) for idades in idades]
  print(idades_no_ano_que_vem)
  [idades for idades in idades if idades > 30]
  print(idades_no_ano_que_vem)

Tem algo de errado no meu código , não sei o que fAZER.

1 resposta

Oi, Ana!

Algumas coisas que notei no código:

  1. Na linha 3, dentro do list comprehension, está "idades" ao invés de "idade", depois do "for";
  2. Na linha 5, você adicionou outro list comprehension para filtrar. Ele não está sendo atribuído a nenhuma variável, então não está afetando a variável "idades_no_ano_que_vem";
  3. O list comprehension na linha 3 não precisaria estar dentro desse "for" da linha 2, pois o list comprehension já opera em cima de cada idade presente na lista idades. Portanto, colocar ele dentro de outro "for", vai fazer com que a operação que você quer seja executada várias vezes (perceba no terminal que ela é imprimida duas vezes para cada idade em idades).

O código final corrigido ficaria assim:

idades_no_ano_que_vem = [(idade+1) for idade in idades] 
print(idades_no_ano_que_vem) 
idades_no_ano_que_vem =  [(idade+1) for idade in idades if idade > 30] 
print(idades_no_ano_que_vem)

Espero ter ajudado \o\