from random import randint
def jogar():
print('*' * 36)
print(f'{"Bem vindo ao jogo de adivinhação".center(35)}')
print('*' * 36)
total_de_tentativas = 0
pontos = 1000
# Criação de uma variável de condição de saída do jogo iniciada como False.
cond_saida = False
while cond_saida is False:
print('Qual nível de dificuldade?\n(1) Fácil (2) Médio (3) Difícil')
while True:
try:
while True:
nivel = int(input('Defina o nível: '))
if nivel not in [1, 2, 3]:
print('Erro! Escolha umas das três opções!')
else:
break
break
except ValueError:
print('Digite apenas números!')
if nivel == 1:
total_de_tentativas = 20
elif nivel == 2:
total_de_tentativas = 10
else:
total_de_tentativas = 5
# Criação do número pseudo aleatório.
numero_secreto = randint(1, 100)
# Criação de uma lista dos números possíveis.
alcance = list(range(1, 101))
for rodada in range(1, total_de_tentativas + 1):
print(f'Tentativa {rodada} de {total_de_tentativas}!')
while True:
try:
while True:
chute = int(input('Digite um número entre 1 e 100: '))
if chute not in alcance:
print('Erro! Digite um valor entre 1 e 100.')
else:
break
break
except ValueError:
print('Erro! Digite somente números!')
acertou = numero_secreto == chute # Variável acertou é responsável pelo acerto do chute.
maior = chute > numero_secreto
menor = chute < numero_secreto
if acertou:
print(f'Você acertou! Sua pontuação foi de {pontos}!')
print(f'Fim do jogo!\nO número sorteado foi {numero_secreto}.')
else:
print('Você errou!')
if maior:
print('O seu chute foi maior que o número sorteado.')
elif menor:
print('O seu chute foi menor que o número sorteado.')
pontos = pontos - abs(numero_secreto - chute)
if acertou or rodada == total_de_tentativas:
while True:
try:
while True:
continuar = input('Deseja jogar novamente? [S/N]: ').strip().upper()
if continuar not in 'SN':
print('Escolha uma opção válida!')
else:
break
break
except ValueError:
print('Escolha uma opção válida!')
if continuar in 'S':
cond_saida = False
break
elif continuar in 'N':
cond_saida = True
break
print(f'\nVolte sempre!')
if __name__ == '__main__':
jogar()