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

Minha lógica:

Criei uma variável tentativas e atribui a ela o valor 6

tentativas = 6

No else quando o "erros" recebe +1 as tentativas recebem -1:

        else:
            erros += 1
            tentativas -= 1
            print("Você ainda tem {} tentativas".format(tentativas))

código completo:


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

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

    enforcou = False
    acertou = False
    erros = 0
    tentativas = 6

    print(letras_acertadas)

    while(not enforcou and not acertou):

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

        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if (chute.upper() == letra.upper()):
                    letras_acertadas[index] = letra
                index += 1
        else:
            erros += 1
            tentativas -= 1
            print("Você ainda tem {} tentativas".format(tentativas))
        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()
1 resposta
solução!

Oi Davi, beleza?

Então acho que são duas formas de ver o mesmo problema que é por um contador para controlar o número de vezes que uma pessoa pode tentar adivinhar a palavra, ambas estão corretas mas o aconselhavel é optar apenas por uma delas. Quanto mais limpo teu código melhor.