def jogar():
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
palavra = 'BANANA'
resposta = ["-" for letra in palavra]
erros = 0
index = 0
enforcou = False
acertou = False
certo = False
while resposta != palavra or erros < len(palavra):
chute = input(f'Qual é a letra? {resposta} \n.').upper()
chute = chute.strip()
if chute in palavra:
for letra in palavra:
if chute == letra:
print(f'Encontrei a letra {letra} na posição {index}.')
resposta[index] = letra
index += 1
if "-" not in resposta:
print('Você venceu!')
break
if chute not in palavra:
erros += 1
print(f'Você errou {erros} vezes! \n Restam {len(palavra) - erros} tentativas.')
if erros == len(palavra):
print('Você foi enforcado!')
break
print(f'{resposta}.')
print('Fim do jogo!')
if(__name__ == "__main__"):
jogar()
Acontece o seguinte: ao iterar a palavra pelo for, o chute realizado pelo usuário não é incluído na posição correta. Por exemplo, se a palavra for banana e o usuário arriscar o primeiro chute como "n":
N
Se arriscar segundo chute como a:
NA
E assim por diante. A saída da resposta é sempre uma palavra com as posições fora de ordem. Como corrigir, criando um index que seja dinâmico e consiga distribuir os chutes do usuário de acordo com a palavra escolhida para o jogo?