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

Como o for entende que o parâmetro é cada um dos valores da lista?

Está um pouco confuso até mesmo para expressar minha dúvida, mas vou tentar.

Eu não entendi completamente como a função for entende que os valores da lista idades são cada um uma idade. Em algum momento do código nós determinamos que os elementos da lista são cada um uma idade ou a função for já é programada para entender que o que está escrito entre o for e o in (que no exemplo da aula é o parâmetro idade) é um elemento da lista que vem após o in?

O código em si funcionou tranquilamente mas eu realmente fiquei com essa dúvida sobre como o for se relaciona com uma lista...

2 respostas
solução!

Pelo que entendi sua dúvida é como o for entende que um parâmetro é da "categoria" (idade) que você está passando, correto? Se for isso o for não entende, ele só vai iterando ao longo do iterador fornecido e usa o teu input como nome para os resultados. Inclusive você pode dar qualquer nome ao parâmetro por exemplo:

idades = [1,4,6,7,4,5,7]
for cachorro in idades:
    print(cachorro)

No caso, cachorro não tem nada a ver com idades mas é o nome que você passou. Podia ser qualquer coisa: for estrelas in idades, for i in idades, etc.

Se sua dúvida é como ele sabe que pode iterar uma lista, é baseada na classe do objeto idades que você passou. O for pode iterar com qualquer objeto iterável, como listas, strings, dicionários, generators, etc. https://www.geeksforgeeks.org/how-to-check-if-an-object-is-iterable-in-python/ O link acima passa alguns meios de checar se o objeto é iterável.

Valeu Fernanda, agora está mais claro. Inclusive valeu também pelo link do artigo, ajudou bastante junto com a explicação! :)