Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mãos na massa: Palavras aleatórias no jogo

import random

def jogar():

    print("*********************************")
    print("Bem vindo ao jogo de forca!")
    print("*********************************")

    arquivo = open("palavras.txt", "r")
    palavras = []

    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)

    arquivo.close()

    n = random.randrange(len(palavras))
    palavra_secreta = palavras[n]
    letras_acertadas = ["_" for _ in palavra_secreta]
    letras_chutadas = []

    tentativas = 6
    erros = 0

    enforcou = False
    acertou = False

    # enquanto não enforcou e não acertou
    while not enforcou and not acertou:

        chute = input("Qual letra? ")
        chute = chute.strip().lower()
        chute_certo = False

        if (len(chute) != 1) or (not chute.isalpha()):
            print("Chute inválido, apenas letras")
            continue
        elif chute in letras_chutadas:
            print("Você já testou essa letra!")
            continue
        else:
            letras_chutadas.append(chute)

        for i, letra in enumerate(palavra_secreta):
            if chute == letra:
                letras_acertadas[i] = letra
                chute_certo = True

        if not chute_certo:
            erros += 1

        print(*letras_acertadas)
        print(f"Faltam {tentativas - erros} tentativas!")

        acertou = "_" not in letras_acertadas
        enforcou = erros == tentativas

    if enforcou:
        print(f"Fim do jogo. A palavra era {palavra_secreta}.")
    elif acertou:
        print(f"Parabens por adivinhar a palavra {palavra_secreta}!")


if __name__ == '__main__':
    jogar()
1 resposta
solução!

Oi, Henrique, tudo bem?

Muito obrigado por compartilhar seu código, ficou ótimo! Tenho certeza que vai ajudar os demais estudantes que estão aprendendo este mesmo conteúdo.

Continue mergulhando em seus estudos e se tiver dúvidas, conte com o fórum.

Abraços!

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