1
resposta

Minha solução ( Simples )

Boa noite, em minha solução eu acrescentei apenas o tamanho ( que seria da palavra ) e coloquei um if caso o usuário gaste todas as tentativas dele, segue código abaixo ( simples porém estou aprendendo e gostando bastante ).

def jogar_forca():
    print("********************************")
    print("***Bem vindo no jogo de Forca***")
    print("********************************")

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

    enforcou = False
    acertou = False
    erros = 0
    tamanho = 6

    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 += 1

        else:
            tamanho-= 1
            erros += 1
            if(tamanho == 0):
                print("Você acabou com suas tentativas e não acertou a palavra!")
            else:
                print("Você errou, não existe a letra {} na palavra, restam {} tentativas".format(chute, tamanho))
        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)


    if(acertou):
        print("Você ganhou!!")
    else:
        print("Você errou!!")
    print("Fim de jogo!")


if(__name__ == "__main__"):
    jogar_forca()
1 resposta

Olá Rodolfo, tudo bem com você?

Meus parabéns pela implementação do código, fico feliz que tenha compartilhado com a comunidade do fórum Alura, informar ao usuário o tamanho que a palavra possui é uma boa ideia. Continue sempre se desafiando a aprender algo novo, está em um bom caminho.

Aproveitando a oportunidade quero deixar como sugestão de implementação do código, na criação do cabeçalho com uso da multiplicação de strings; quando queremos que uma determinada string seja repetida basta multiplicarmos ela, sabendo disso podemos implementar no cabeçalho do seu código, como abaixo.

print("*" * 33)
print("***Bem vindo no jogo de Forca***")
print("*" * 33)

No código acima, a string '*' será repetida 33 vezes.

Caso queira explorar mais funções sobre o uso do asterisco em python, além de duplicar caracteres, recomendo o seguinte artigo:

O artigo acima está em inglês, caso tenha dificuldades com o idioma recomendo o uso do tradutor do navegador.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.