1
resposta

Erro no index

Fui alterar o código,e o index parou de funcionar.Com isso,quando digito uma letra que está contida na palavra secreta,ela não é guardada,e o jogo não chega ao fim!

def jogar():

print('*************************')
print('Bem vindo ao jogo de Forca!')
print('*************************')

palavra_secreta = 'banana'.upper()

enforcou = False
acertou = False
letras_erradas = 0

while(not enforcou and not acertou):

    chute = input('Digite uma letra: ')
    chute = chute.strip().upper()
    letras_acertadas = ['_','_','_','_','_','_']
    index = 0
    if chute in palavra_secreta:
        for letra in palavra_secreta:
            if chute == letra:
                letras_acertadas[index] = letra
            index = index + 1

    else:
        letras_erradas = letras_erradas + 1

    enforcou = letras_erradas == 5
    print(letras_acertadas)

print('FIM DE JOGO')

if name == 'main': jogar()`

`

1 resposta

Olá,

algumas correções seriam necessárias

  • Sua variável letras_acertadas está dentro do while, desta forma, ela está sendo reinicializada a cada loop: Coloque-a antes do início do while.
  • Não tem uma condição que defina quando vc acertou a palavra: Isso pode ser feito comparando a quantidade de acertos com a quantidade de letras da palavra ou verificando se ainda existe o caracter _ na palavra secreta.
  • Poderia tbm adicionar uma mensagem se o usuário acertou ou errou juntamento com o fim do jogo.

[]'s