2
respostas

Fiz igual o Professor

Assim que eu digito uma das letras da palavra secreta o jogo ja finaliza!

def jogar():
    print("*********************************")
    print("***Bem vindo ao jogo de Forca!***")
    print("*********************************")

    palavra_secreta = "banana".upper()
    letras_acertadas = ["_ ", "_ ", "_ ", "_ ", "_ ", "_ ", ]

    enforcou = False
    acertou  = False
    erros    = 0

    print(letras_acertadas)

    while(not enforcou and not acertou):

        chute = input("Qual letra? ")
        chute = chute.strip().upper()

        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if(chute == letra):
                    letras_acertadas[index] = letra
                index = index + 1

        else:
            erros = erros + 1

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if(acertou):
        print("Você ganhou!")
    else:
        print("Você perdeu!")
    print("Fim do jogo")

if(__name__ == "__main__"):
    jogar()
2 respostas

Fala João, beleza?

Seguinte, seu erro ta bem escondido, mas está no letras_acertadas = ["_ ", "_ ", "_ ", "_ ", "_ ", "_ ", ]

Repare que depois de cada _ tem um espaço também.

acertou = "" not in letrasacertadas

Aqui não tem, é só o _ .

Tire os espaços lá da lista letras_acertadas que o código vai rodar normalmente.

Espero ter ajudado!

#Boa noite João o erro esta no espaçamento do seu codigo, segue os espaçamentos corretos:

def jogar():
    print("########################################")
    print("######Bem vindo ao jogo da forca!!######")
    print("########################################")
    palavra_secreta = "banana".upper()
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]

    acertou = False
    enforcou = False
    erro = 0

    print(letras_acertadas)
    while not acertou and not enforcou:

        chute = input("Qual a letra:")
        chute = chute.strip().upper()

        if chute in palavra_secreta:
            index = 0
            for letra in palavra_secreta:
                if chute == letra:
                    letras_acertadas[index] = letra
                index += 1
            else:
                erro += 1

            enforcou = erro == 6
            acertou = "_" not in letras_acertadas
            print(letras_acertadas)
    if acertou:
        print('Você Ganhou!!')
    else:
        print("Você Perdeu!!")
        print("Game Over")

if (__name__ == "__main__"):
        jogar()

Um pequeno erro que estou aprendendo a concertar também. Os espaçamentos atrapalham a rodar completamente o codigo, pois tem que haver uma sequencia logica.

Essa parte do seu codigo que deve conter os espaçamentos corretos:

else:
            erros = erros + 1

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

Você deverá colocar o "else" e todo seu comando dentro dele alinhados ao "for".

Tenta ai e manda manda aqui se deu certo.Vlw