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()