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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 : )