1
resposta

Usando o .count e finalizando o jogo caso acerte tudo

bom, usei os ensinamentos desse "Para Saber Mais:" e resolvi adiantar um pouco as coisas, não se vai ter muita diferença com o do instrutor, mas acho qua ja ficou legal, agora só falta eu arrumar um jeito de o jogo parar quando errar todas as letras.

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

    palavra_secreta = "banana"
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]
    letras_faltando = str(letras_acertadas.count("_")) # Aqui é a variavel para o .count da lista "letras_acertadas"


    enforcou = False
    acertou = False

    print(letras_acertadas)
    print("Ainda faltam acertar {} letras".format(letras_faltando))

    while(not enforcou and not acertou ):

        chute = input("Chute uma letra")
        chute = chute.strip()

        index = 0

        for letra in palavra_secreta:
            if(chute.upper() == letra.upper()):
                letras_acertadas[index] = letra
                letras_faltando = str(letras_acertadas.count("_")) # Aqui é onde o código reconta as letras faltando com base no que foi digitado
                if(letras_faltando == "0"):# Aqui encerra o jogo no caso de ter encontrado a palavra
                    acertou = True

            index = index + 1

        print(letras_acertadas)
        print("Ainda faltam acertar {} letras".format(letras_faltando))

    print("Fim do jogo!")

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

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

Parabéns pela dedicação aos estudos!

Gostei de ver os comentários no código. Ter um código bem comentado é um dos princípios básicos de um código limpo e didático, algo bem importânte ao se trabalhar com equipes.

Existem várias maneiras de se parar um loop while. Vou deixar algumas dicas aqui.

Usarei como exemplo um código que retorna a tabuada:

 

Uso de uma Condição nos Parâmetros do While

numero = 1

while(numero <= 10):

    for multiplicador in range(1, 11):
        print("{} x {} = {}".format(numero, multiplicador, numero * multiplicador))

    numero = numero + 1

 

Uso do Break

numero = 1

while True:

    for multiplicador in range(1, 11):
        print("{} x {} = {}".format(numero, multiplicador, numero * multiplicador))

    numero = numero + 1

    if(numero > 10):
        break

Continue os bons estudos. 😉

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!