Essa é a versão que fiz. Imagino que esteja boa.
import os
from random import randint
def adivinhacao( ):
title = "JOGO DA ADIVINHAÇÃO"
stuff = "*" * (len(title) + 1)
jogando = True
print(f"{stuff} \n{title} \n{stuff} \n")
while jogando:
nivel, jogar = "", ""
while nivel not in ("0", "1", "2", "3"):
os.system("cls" if os.name == 'nt' else 'clear')
nivel = input("ESCOLHA O NÍVEL: \n1 - DIFÍCIL 2 - MÉDIO 3 - FÁCIL 0 - SAIR \n> ")
palpite, tentativas = 0, 1
num_secreto = randint(1, 50)
if nivel not in ("0", "1", "2", "3"):
print(f"\n{nivel} é uma opção inválida.")
if nivel == "1":
jogadas = 5
while (tentativas < jogadas) or (num_secreto != palpite):
tentativas += 1
if (jogadas - 1) == tentativas:
nivel = "0"
palpite = int(input("\nPalpite: "))
resp = jogo(jogadas, tentativas, num_secreto, palpite)
if resp == True:
break
if nivel == "2":
jogadas = 10
while (tentativas < jogadas) or (num_secreto != palpite):
palpite = int(input("\nPalpite: "))
tentativas += 1
resp = jogo(jogadas, tentativas, num_secreto, palpite)
if resp == True:
break
if nivel == "3":
jogadas = 20
while (tentativas < jogadas) or (num_secreto != palpite):
palpite = int(input("\nPalpite: "))
tentativas += 1
resp = jogo(jogadas, tentativas, num_secreto, palpite)
if resp == True:
break
if nivel == "0":
break
while (jogar != "S") and (jogar != "N"):
jogar = input("\nDESEJA CONTINUAR JOGANDO? S/N \n> ").strip( ).upper( )
if jogar == "S":
jogando
if jogar == "N":
print("\nJOGO ENCERRADO.\n")
not jogando
break
def jogo(jogadas, tentativas, sec, num):
if (tentativas) > jogadas:
print("\nInfelizmente não foi dessa vez. Tente novamente.")
return True
if sec == num:
print("\nParabéns. Você acertou.\n")
return True
if num != sec:
if sec > num:
print("\nO número secreto é maior que o número escolhido.")
if sec < num:
print("\nO número secreto é menor que o número escolhido.")
if (jogadas - (tentativas)) == 1:
print(f"\nAinda resta {(jogadas + 1) - tentativas} tentativa.\n")
else:
print(f"\nAinda restam {(jogadas + 1) - tentativas} tentativas.\n")
adivinhacao( )
Se houver erros, por favor, podem informá-los. Sugestões também são bem vindas.