Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro de continuidade

Boa noite, alguém poderia me ajudar, por favor??

da esse resultado aqui:

*********************************
***Bem-Vindo no jogo da Forca!***
*********************************
['_', '_', '_', '_', '_', '_']
Qual letra?a
['_', 'A', '_', 'A', '_', 'A']
Voce ganhou!!
Fim de Jogo

Meu codigo é este:

def jogar():
    print('*********************************')
    print('***Bem-Vindo no jogo da Forca!***')
    print('*********************************') 

    palavra_secreta = 'banana'.upper()
    letras_acertadas = ['_' for letra in palavra_secreta] #ERRO DE CONTINUIDADE

    enforcou = False
    acertou = False
    erros = 0 

    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 = index + 1 
        else: 
            erros = erros + 1 

        enforcou  = erros == 6 
        acertou = '-' not in  letras_acertadas 
        print(letras_acertadas)

    if(acertou):
        print('Voce ganhou!!')
    else:
        print('Voce perdeu!!')
    print('Fim de Jogo')


if(__name__=='__main__'):
    jogar() 
5 respostas

Nessa linha você está procurando o sinal de - na string, que não existe, então ele coloca o valor TRUE na variável acertou e o jogo é encerrado

 acertou = '-' not in  letras_acertadas 

Desculpa, não entendi. No caso eu devo mudar o que exatamente na minha linha?

Deve mudar o - por _

solução!

aaaa, agora entendi. é porque eu coloquei - em vez de _ que é o que eu usei no inicio do código, correto?

Isso. Aí o algorítimo tenta encontrar - na lista de _ , não encontra, entende que a lista está completamente preenchida com letras e que você acertou a palavra, aí encerra