Segue abaixo a solução que eu criei.
def jogar_f():
from time import sleep
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
palavra_secreta = "banana".upper()
letras_acertadas = ["_", "_", "_", "_", "_", "_"]
enforcou = False
acertou = False
erros = 0
tentativas = len(palavra_secreta) # número de tentativas máximo é o número de letras da palavra
print()
sleep(0.3)
print(letras_acertadas)
while not enforcou and not acertou:
chute = input('Qual letra? ').strip().upper()
if chute in palavra_secreta: # se o jogador acertou uma letra dentro da palavra
index = 0
for letra in palavra_secreta:
if chute == letra:
letras_acertadas[index] = letra
index += 1
else: # se o jogador errou
tentativas -= 1 # se ele errar, ele perde uma tentativa
erros += 1
if tentativas > 0:
print(f'Você ainda tem {tentativas} tentativas.')
# mostra para o jogador, quantas tentativas ele ainda tem.
print()
enforcou = erros == len(palavra_secreta)
acertou = "_" not in letras_acertadas
print(letras_acertadas)
# solução utilizando o break:
if erros == len(palavra_secreta):
print(f'Você perdeu! A palavra correta era {palavra_secreta}.')
break
elif "_" not in letras_acertadas:
print('Você ganhou!')
break
print()
sleep(0.3)
print("Fim do jogo")
if __name__ == "__main__":
jogar_f()