1
resposta

O programa está identificando as letras em posições erradas

Diferentemente do jogo criado no curso, o que estou fazendo está identificando as letras em espaços errados e não estou conseguindo identificar o motivo/erro. Segue o meu código:

def jogar(): print("*") print("Bem-vindo ao jogo da Forca!") print("*")

palavra_secreta = 'banana'
letras_acertadas = ['_', '_', '_', '_', '_', '_']

enforcou = False
acertou = False

print(letras_acertadas)
#enquanto (True)
while (not enforcou and not acertou):

    chute = input('Digite a letra: ')
    chute = chute.strip()

    index = 0
    for letra in palavra_secreta:
        if (chute.upper() == letra.upper()):
            letras_acertadas[index] = letra
            print('Encontrei a letra {} na posição {}'. format(chute, index))
            index = index + 1


    print(letras_acertadas)

    print('jogando...')

print("Fim do jogo")

if(name == "main"): jogar()

paralvra = 'banana'

type(palavra)

############ Run:


Bem-vindo ao jogo da Forca!


['', '', '', '', '', ''] Digite a letra: a Encontrei a letra a na posição 0 Encontrei a letra a na posição 1 Encontrei a letra a na posição 2 ['a', 'a', 'a', '', '', '_'] jogando... Digite a letra:

1 resposta

Boa tarde Beatriz, o incremento do index tem que ficar fora do if, como mostrado abaixo:

    if (chute.upper() == letra.upper()):
            letras_acertadas[index] = letra
            print('Encontrei a letra {} na posição {}'. format(chute, index))
    index = index + 1

Espero ter ajudado!