Olá a todos,
Para inicio eu consegui entender o a estrutura do codigo das aulas, porém fiz algumas modificações, fiz a implementação de um nivel de dificuldade (semelhante ao do exercicio de adivinhação) com restrição a apenas as opções informadas, já no momento do chute, coloquei uma condição para que o usuário informe apenas 1 caractere e na checagem da palavra utilizei a função .join() para converter a list para uma string para que seja verificado se o usuário acertou ou não, então dessa forma, segue a estrutura do codigo:
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))
palavra_secreta = "maçã".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()