Apesar de algumas explicações já estarem presentes aqui no fórum, ainda tenho uma dúvida:
palavra_secreta = "banana"
letras_acertadas = ["_", "_", "_", "_", "_", "_"]
enforcou = False
acertou = False
print(letras_acertadas)
while(not enforcou and not acertou):
chute = input("Qual letra? ")
chute = chute.strip()
index = 0
for letra in palavra_secreta:
if(chute.upper() == letra.upper()):
letras_acertadas[index] = letra
index = index + 1
print(letras_acertadas)
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()
O que o "for" faz? O "for" só entra em ação se o chute estiver na palavra? Se não, se eu errasse a letra, não entraria em um loop infinito no "for"? O que faz com que eu saia do "for" após um chute e abra o input de novo? Tenho esse problema haha só consigo entender alguma coisa se entender desde o princípio.
Além disto, tentei fazer o laço "for" da seguinte forma:
for chute in palavra_secreta:
letras[index] = chute
index = index + 1
print(letras)
E deu errado, qualquer caractere que eu colocava no input, até mesmo uma vírgula, ou também alguma letra correta, ele mostrava:
['b', 'a', 'n', 'a', 'n', 'a'] Qual letra? (e assim sucessivaente)
Ou seja, qualquer caractere que eu colocasse no input ele já mostrava a palavra inteira. Por que deu errado?