Meu programa funcionou perfeitamente, mas não entendi a estrutura "letra" no código. Ela não parece ser uma função bult-in, até por estar em português. Mas ao mesmo tempo não é nenhuma função ou variável que eu tenha declarado.
Meu programa funcionou perfeitamente, mas não entendi a estrutura "letra" no código. Ela não parece ser uma função bult-in, até por estar em português. Mas ao mesmo tempo não é nenhuma função ou variável que eu tenha declarado.
Olá, Cassiano. Tudo bom? O 'letra' é um iterador, utilizado para iterar na lista 'palavra_secreta', ou seja, ele pode ser visto como uma variável temporária que recebe o valor de cada item da lista sequencialmente. Exemplo :
Se temos uma lista [a, b, c, d], e utilizarmos o for para iterar sobre essa lista, iremos criar uma variável pata percorrer essa lista. For qualquer_coisa in lista: Print(qualquer_coisa)
Você verá que a saída será 4 prints diferentes, um para cada item da lista, utilizando uma única variável (qualquer_coisa)
Espero ter ajudado : )
Oi Rodrigo. Tudo certo, e você? Obrigado pela ajuda.
Pelo que entendi, então em vez de 'letra' poderia ter criado qualquer outra designação para o iterador, correto? E no nosso caso, 'letra' foi designado como iterador no momento do for, correto?
Como diferencio esse iterador de uma variável? Se fosse uma variável teria uma condição? Ex: for letra == a in palavra secreta.
Uma variável precisa ser declarada, a menos que você esteja apenas checando se um determinado item está em uma lista Toda vez que você tiver um laço for, ele seguirá essa estrutura:
for (iterador) in (iterável): statements
Nessa foto você pode ver duas formas de se iterar em uma lista. Na primeira, eu simplesmente checo se a letra 'a' está na lista. Como ela está na lista, é retornado True.
Na segunda eu utilizo o for para passar por todos os itens da lista, e checando a condição if que eu criei. Como o if checa se a == 'a', ele terá n checagens, sendo n = o número de elementos da lista.
A forma como você escreveu 'for letra == a in palavra secreta' gera um erro de sintaxe, pois você tenta fazer uma validação onde não é suportado (pelo menos ainda, rs)
uma outra forma de você fazer o mesmo que eu fiz acima, seria unindo as duas formas da seguinte maneira:
Como você ainda está bem no começo do curso, eu recomendo que se mantenha no 'programa' proposto e vá acompanhando a documentação ao mesmo tempo, para ver se não tem nenhuma atualização : Link Documentação
Talvez algumas das coisas que eu falei não façam muito sentido agora ou soem complicadas, mas o importante mesmo é você entender que o 'letras' pode ser abstraído para o entendimento de uma variável temporária que só existe durante aquele for, e é utilizado para iterar em alguma outra variável (que seja iterável). No futuro você verá algumas outras possibilidades como o range, por exemplo, que percorre uma sequência de números.
Também é importante saber que as operações são feitas dentro do bloco for, e não na mesma linha de inicialização do for. Foto 3
Espero ter ajudado : )