Bom dia, galera! Seguinte: meu código tá igual ao demonstrado nas aulas, com algumas poucas diferenças na personalização das mensagens. Segue o código:
import random
print('*') print('Bem vindo ao jogo de Adivinhação!') print('*')
numero_secreto = random.randrange(1, 101)
total_de_tentativas = 0 pontos = 1000
print('Escolha a dificuldade do jogo:', numero_secreto) print('(1) Fácil (2) Médio (3) Difícil')
nivel = int(input("Eleja um nível"))
if(nivel == 1): total_de_tentativas = 20 elif(nivel == 2): total_de_tentativas = 10 else: total_de_tentativas = 5
for rodada in range(1, total_de_tentativas + 1): print('Tentativa {} de {}'. format(rodada, total_de_tentativas)) chute_str = input('Digite aqui um número entre 1 e 100: ') print('Você digitou: ', chute_str) chute = int(chute_str)
if(chute <1 or chute>100):
print('O número digitado deve estar entre 1 e 100!')
continue
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print('Você acertou! Parabéns! E sua pontuação foi: {}'.format(pontos))
break
else:
if(maior):
print('O número digitado foi maior do que o número secreto!')
elif(menor):
print('O número digitado foi menor do que o número secreto!')
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
print('****') print('Fim do jogo') print('****')
Entretanto, quando chega na parte de contar os pontos, sempre dá um erro quando o valor do número secreto é baixo, como 5. Mesmo que eu erre e vá pra segunda tentativa, e acerte nesta, o valor retornado da pontuação é 1000. Por exemplo, se eu o número secreto é 5, e no primeiro chute, eu coloco 90, teoricamente, era pra ser retornado uma pontuação de 915 pontos, não? Isso aconteceu com mais alguém? Obrigado, gente!