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

Dúvida no laço "FOR"

*Minha dúvida está no seguinte bloco de código : *

        for letra in palavra_secreta:
            if(chute == letra):
                print("Encontrei a letra {} na posição {}".format(letra, index))
            index = index + 1

**Minha dúvida é, como o laço "FOR" sabe que "LETRA" se refere a cada caractere dentro de palavra secreta ? Sendo que em nenhum momento criei algo que mostra-se isso ao python.

Em seguida o laço IF dentro do laço FOR usa :

  if(chute == letra):

Letra só foi colocada dentro do FOR e mesmo assim estamos usando ela como se fosse uma variável ... realmente estou com duvida nisso !

LETRA se tornou uma variável dentro do FOR ?

O FOR cria uma variável ?

Help :D

2 respostas
solução!

Sobre for letra in palavra_secreta:

É uma característica do próprio Python tratar uma string como uma sequência especial formada por letras. Em uma aula próxima do curso (Conhecendo e trabalhando com tuplas) o professor vai falar um pouco mais listas e sequências mas você também pode ler na documentação https://docs.python.org/pt-br/3/library/stdtypes.html#text-sequence-type-str, que diz:

Os dados textuais em Python são tratados com objetos str, ou strings. Strings são sequências imutáveis de pontos de código Unicode.

Então, na prática, se você tem duas variáveis:

lista_letras = ["m","a","n","g","a"]
palavra = "manga"

O Python vai permitir trabalhar com essas duas variáveis como se ambas fossem um conjunto de letras. Isso então permite o uso de ambas no laço for.

Já sobre o uso da variável letra, a partir do momento que ela foi declarada na instrução do for, ela se tornou uma variável. Assim ela pode ser usada dentro do bloco formado pelo laço, não ficando seu uso exclusivo para a instrução.

Muito explicado, obrigado Robson !