1
resposta

Atividade "Mãos na massa: encerrando o jogo"

def jogar():
    print("*********************************")
    print("*******Jogo da Forca    ! *******")
    print("*********************************")

    palavra_secreta = "banana".upper()
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    while (not acertou and not enforcou):

        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 += 1
        else:
            erros += 1
            print("A letra {} não está na palavra".format(chute))
            print("Você já errou {} de {}".format(erros,6))

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if (acertou):
        print("Você ganhou!")
    else:
        print("Você perdeu!")
    print("Fim do jogo")

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

Opa Sérgio! Tudo bem?

A única sugestão que penso ser válida é modificar essa linha:

 letras_acertadas = ["_", "_", "_", "_", "_", "_"]

Para que você não precise ter trabalho de contar e colocar exatamente a quantidade de letras, imagina mudar isso sempre ou usar uma palavra muito grande, tipo "inconstitucionalissimamente" rs

Para resolver isso podemos usar:

letras_acertadas = ["_" for letra in palavra_secreta]

Que automatiza esse processo que se encontra manual no seu código =)

Belo avanço! Bons estudos Sérgio!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software