Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi o uso da variável letra no for do jogo da forca


   while(not enforcou and not acertou):

       chute = input("Qual letra?")

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

Quando usamos a variável letra in palavra_secreta o que está acontecendo por trás? O python automaticamente entende que estamos comparando um caractere numa string? Achei que teríamos que indicar o tipo e daria erro se não tivéssemos trabalhando com um contador e interior em laços.

1 resposta
solução!

Olá Tâmie, tudo bem? Espero que sim!

As strings no Python são objetos iteráveis. Portanto quando você escreve for letra in palavra_secreta, o python irá iterar no objeto palavra_secreta, letra por letra a cada execução do for.

Além disso, você pode usar o enumerate() para automaticamente pegar o índice da letra em qual o for está iterando no momento. Você pode fazer da seguinte forma:

chute = input("Qual letra?")

for index, letra in  enumerate(palavra_secreta):
    if(chute == letra):
        print(f"Encontrei a letra {chute} na posição {index}")

Dessa forma o enumerate() irá criar a cada letra uma tupla do tipo (0, letra0), (1, letra1)... e assim por diante, armazenando o primeiro valor da tupla (no caso o índice) na variável index, e o segundo valor da tupla (no caso a letra) na variável letra.

Espero que tenha entendido.

Estou à disposição. Bons estudos!