Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

for idade in idades:

idades = [7,22,27]

def verifica_se_pode_dirigir(idades):
  for idade in idades:
    if idade >=18:
      print(f'{idade} anos. Tem permissão.')
    else:
      print(f'{idade} anos. Não tem permissão.')

verifica_se_pode_dirigir(idades)

O código está funcionando perfeitamente, mas não entendo como a Python entende que idade na linha for idade in idades: refere-se a um elemento da lista. A função possui a lista idades como parâmetro, mas idadeestá definido onde?

2 respostas
solução!

Erika, você está CRIANDO a variável "idade" no exato momento que estabelece o laço FOR. Essa é uma prerrogativa desse laço. Se tiver dúvidas, dá uma olhadinha na documentação do Python na internet :)

Você criou "idade" no momento que fez o for. Tanto faz o nome, poderia colocar "for x in idades". Mas no if teria que trocar o nome de "idade" para "x". No for ocorre o seguinte " for idade in idades" . Todos os elementos de idades irão passar para o nome "idade", tanto faz o nome você cria na mesma hora do for.