1
resposta

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

Segue a estrutra do meu codigo para o exercicio proposto:

import random

def jogar_forca():

    print(36 * "*")
    print("*****Bem-vindo no jogo da forca!****")
    print(36 * "*")
    #Entrada do usuário para a escolha da dificuldade do jogo.
    tentativas = input("Escolha a dificuldade: (1)fácil (2)Médio (3)Difícil: ")

    #condição para checar se o valor da entrada está correto.
    while(not tentativas.isdigit() or int(tentativas) <= 0 or int(tentativas) >= 4):
        tentativas = input("Por favor, escolha a dificuldade correta... (1)fácil (2)Médio (3)Difícil: ")

    tentativas = int(tentativas)

    #condições referente ao total de tentativas de erro do usuário       
    if(tentativas == 1):
        tentativas = 6
        print("O seu total de tentativas e de {}, boa sorte!".format(tentativas))     
    elif(tentativas == 2):
        tentativas = 4
        print("O seu total de tentativas e de {}, boa sorte!".format(tentativas))
    elif(tentativas == 3):
        tentativas = 2
        print("O seu total de tentativas e de {}, boa sorte!".format(tentativas))

    #Manipulando o arquivo e sorteando a palavra pro desafio.
    palavras = []  
    arquivo = open("palavras.txt","r")

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

    arquivo.close()

    numero = random.randrange(0,len(palavras))

    palavra_secreta = palavras[numero].upper()
    palavra_acertada = ["_" for letra in palavra_secreta]

    print("Tente advinhar a palavra sorteada: {}".format(palavra_acertada))

    acertou = False
    enforcou = False
    erros = 0

    # Dentro da estrutura que é responsável por lê o chute do usuário.
    while(not acertou and not enforcou):


        chute = input("Qual é a letra? ")
        chute = chute.strip().upper()

    #condição reponsavel por verificar se o usuário está informando outro tipo de caracter
        if (not chute.isalpha() or not len(chute) == 1):
            print("Por favor, insira apenas letras e um caractere...")
            continue

        index = 0
        if(chute in palavra_secreta):
            for letra in palavra_secreta:
                if(chute == letra):
                    palavra_acertada[index] = letra
                index += 1
        else:
            erros += 1
        palavra = ''.join(palavra_acertada)
        print("A palavra é: {}".format(palavra_acertada))

        #condição para saber se o usuário erro ou acertou a palavra chave e se não acontecer nenhuma das opções apenas informa o número de erros.
        if(erros == tentativas):
            enforcou = True
            print("Você errou a palavra secreta, a palavra era {}".format(palavra_secreta))
        elif( palavra == palavra_secreta):
            print("Parabéns você acertou a palavra secreta que é {}".format(palavra_secreta))
            acertou = True
        else:
            print("Numero de erros: {}".format(erros))
            print(36 * "*")



    print("Fim do jogo!")

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

Oii Rômulo, tudo bem?

Meus parabéns pela implementação do código, fico feliz que tenha compartilhado-o com a comunidade do fórum Alura. Continue com essa dedicação e empenho.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!