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

Retornando Letras_certas 6 vezes

Quando rodo o codigo, o retorno no print é mostrado 6 vezes

C:\Users\Darci\PycharmProjects\Jogos\venv\Scripts\python.exe C:/Users/Darci/PycharmProjects/Jogos/Forca.py


Bem vindo ao jogo de Forca


Qual a letra?b ['b', '', '', '', '', ''] ['b', '', '', '', '', ''] ['b', '', '', '', '', ''] ['b', '', '', '', '', ''] ['b', '', '', '', '', ''] ['b', '', '', '', '', ''] Qual a letra?a ['b', '', '', '', '', ''] ['b', 'a', '', '', '', ''] ['b', 'a', '', '', '', ''] ['b', 'a', '', 'a', '', ''] ['b', 'a', '', 'a', '', ''] ['b', 'a', '', 'a', '_', 'a'] Qual a letra?

CODIGO:


def jogar():b
    print("**********************")
    print("Bem vindo ao jogo de Forca")
    print("**********************")


    palavra_secreta = "banana"
    letras_certas = ["_", "_", "_", "_", "_", "_"]
    enforcou = False
    acertou = False

    while (not acertou and not enforcou):
        chute = input("Qual a letra?")
        chute = chute.strip()

        index = 0
        for letra in palavra_secreta:
            if (chute.upper() == letra.upper()):
                letras_certas[index] = letra
            index = index + 1

            print(letras_certas)


    print("Fim do Jogo!!!!")





if(__name__ == "__main__"):
    jogar()
2 respostas
solução!

Olá Rodrigo! Tudo certo? Espero que sim. 🙂

A repetição do print é devido ao fato doprint("Fim do Jogo!!!!") estar dentro do loop for , dessa forma toda vez que existe a checagem do chute dentro da palavra secreta o print é acionado e há o retorno do mesmo.

Para que retorne apenas uma vez, basta colocar o print("Fim do Jogo!!!!") fora do loop for, porém mantê-lo dentro do loop while. Segue o código corrigido:

def jogar():
    print("**********************")
    print("Bem vindo ao jogo de Forca")
    print("**********************")
Fim do Jogo!!!!")

    palavra_secreta = "banana"
    letras_certas = ["_", "_", "_", "_", "_", "_"]
    enforcou = False
    acertou = False

    while (not acertou and not enforcou):
        chute = input("Qual a letra?")
        chute = chute.strip()

        index = 0
        for letra in palavra_secreta:
            if (chute.upper() == letra.upper()):
                letras_certas[index] = letra
            index = index + 1

        print(letras_certas)


    print("Fim do Jogo!!!!")





if(__name__ == "__main__"):
    jogar()

Espero ter ajudado! Quaisquer dúvidas, estou à disposição. 😉

Oooopa muito obrigado amigo!!