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

Que variável colocamos depois do for?

Pessoal, tenho uma dúvida sempre que vejo o for do python: podemos nomear o item do for de qualquer forma? Nessa aula e em outros lugares usam o mesmo nome de uma variável declarada acima, e fiquei na dúvida se era obrigatório nomear assim (Nesse caso, o nome era 'idade')

Fiz um teste :

idades = [8, 15, 22, 27, 38, 46]

def verifica_se_pode_dirigir(idade):
  if idade >= 18:
    print(f'{idade} anos já pode dirigir!')
  else:
    print (f'{idade} anos ainda não pode dirigir!')

for idade in idades:
  verifica_se_pode_dirigir(idade)

Achei que aquele monte de 'idade' ficou confuso, então fiz isso daqui e aparentemente dá no mesmo:

idades = [8, 15, 22, 27, 38, 46]

def verifica_se_pode_dirigir(idade):
  if idade >= 18:
    print(f'{idade} anos já pode dirigir!')
  else:
    print (f'{idade} anos ainda não pode dirigir!')

for cada_idade in idades:
  verifica_se_pode_dirigir(cada_idade)

Tive sorte ou é isso mesmo?

3 respostas
solução!

Olá, Caio. Tudo bom?

Não foi sorte haha, você pode nomear como quiser. O que acontece é que neste momento você está criando uma variável para iterar sobre todos os itens de qualquer sequência (lista, string) e depois você está acessando esta variável para realizar o print.

É interessante que use uma variável que seja legível e que possa ser facilmente compreendida por outro programador que vá olhar o seu código e creio que tenha sido por isso que foi utilizado o 'idade' em 'idades', pois a cada loop, ele está com o valor de apenas 1 idade dentro de uma lista de várias idades.

Mas a escolha é totalmente sua. Eu particularmente preferi o cada_idade mesmo hahaha : )

Oi Caio, é isso mesmo! Após o "for", podemos usar qualquer nome, desde que ele se repita como parâmetro da tua função dentro dos parêntesis ( ). Em suma, o que vem após o "for" é livre, só o que vem após o "in" é que precisa ser tua lista [ ]. Abraços!

Perfeito Rodrigo. Pelo que entendi, a função é declarada com 'idade', mas no for eu chamo aquilo de cada_idade, e quando lanço o cada_idade como parametro da função é como se eu estivesse dizendo idade = cada_idade, e por isso a variável de dentro da função vai funcionar. Agora ficou claro =)