Eu estou tentando fazer com que o código verifique se é um dos níveis existentes, se não, force o usuário a escolher novamente um dos níveis.
import random
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
print("Deseja iniciar o jogo?")
inicio = int(input("1 (Sim) 2 (Não)"))
print()
if inicio == 1:
print("E lá vamos nós")
print()
elif inicio == 2:
exit("Até mais...")
numero_secreto = random.randrange(1,101)
total_de_tentativas = 0
dificuldade = int(input("Escolha o nível de dificuldade: 1 (Fácil) 2 (Médio) 3 (Difícil) "))
while dificuldade < 1 or dificuldade > 3:
if dificuldade == 1:
total_de_tentativas = 5
elif dificuldade == 2:
total_de_tentativas = 3
elif dificuldade == 3:
total_de_tentativas = 1
else:
print("Escolha um dos níveis disponíveis")
dificuldade = int(input("Por favor, escolha um dos níveis de disponíveis: 1, 2 ou 3 "))
for rodada in range(1, total_de_tentativas + 1):
print("Tentativa {} de {}".format(rodada, total_de_tentativas))
chute_str = input("Digite um número entre 1 e 100: ")
print("Você digitou " , chute_str)
chute = int(chute_str)
if(chute < 1 or chute > 100):
print("Você deve digitar um número entre 1 e 100!")
continue
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print("Você acertou!")
break
else:
if(maior):
print("Você errou! O seu chute foi maior do que o número secreto.")
elif(menor):
print("Você errou! O seu chute foi menor do que o número secreto.")
print("Fim do jogo")