1
I have the following problem: every attempt of the user, the code does not accuse if it is cold, hot, warm, boiling. That is, does not give the tips to the player. If anyone can help me I appreciate!
print('Você tem 10 chances de acertar o número que eu estou pensando.')
print('Trata-se de um valor entre 1 e 100. Então, vamos lá!')
print()
import random
n = random.randrange(1, 101)
nrepete = []
estado1 = 7 # início
estado2 = 7
def SetStatus(tentativa):
if abs(n - palpite) == 1:
estado2 = 6 # fervendo
if abs(n - palpite) == 2 or abs(n - palpite) == 3:
estado2 = 5 # muito quente
if abs(n - palpite) >= 4 and abs(n - palpite) <= 6:
estado2 = 4 # quente
if abs(n - palpite) >= 7 and abs(n - palpite) <= 9:
estado2 = 3 # morno
if abs(n - palpite) >= 10 and abs(n - palpite) <= 15:
estado2 = 2 # frio
if abs(n - palpite) >= 16 and abs(n - palpite) <= 25:
estado2 = 1 # muito frio
if abs(n - palpite) >= 26:
estado2 = 0 # congelando
def FornecerPista():
if status1 == 7:
if estado2 == 0:
print('Está congelando!')
if estado2 == 1:
print('Está muito frio!')
if estado2 == 2:
print('Está frio!')
if estado2 == 3:
print('Está morno!')
if estado2 == 4:
print('Está quente!')
if estado2 == 5:
print('Está muito quente!')
if estado2 == 6:
print('Está fervendo!')
if estado1 - estado2 == 0:
if estado2 == 0:
print('Seu palpite continua congelando!')
if estado2 == 1:
print('Seu palpite continua muito frio!')
if estado2 == 2:
print('Seu palpite continua frio!')
if estado2 == 3:
print('Seu palpite continua morno!')
if estado2 == 4:
print('Seu palpite continua quente!')
if estado2 == 5:
print('Seu palpite continua muito quente!')
if estado2 == 6:
print('Seu palpite continua fervendo!')
if estado1 - estado2 > 0:
if estado2 == 0:
print('Ops, seu palpite deu uma esfriada e agora está congelando!')
if estado2 == 1:
print('Ops, seu palpite deu uma esfriada e agora está muito frio!')
if estado2 == 2:
print('Ops, seu palpite deu uma esfriada e agora está frio!')
if estado2 == 3:
print('Ops, seu palpite deu uma esfriada e agora está morno!')
if estado2 == 4:
print('Ops, seu palpite deu uma esfriada e agora está quente!')
if estado2 == 5:
print('Ops, seu palpite deu uma esfriada e agora está muito quente!')
if estado1 - estado2 < 0:
if estado2 == 1:
print('Ops, seu palpite deu uma esquentada e agora está muito frio!')
if estado2 == 2:
print('Ops, seu palpite deu uma esquentada e agora está frio!')
if estado2 == 3:
print('Ops, seu palpite deu uma esquentada e agora está morno!')
if estado2 == 4:
print('Ops, seu palpite deu uma esquentada e agora está quente!')
if estado2 == 5:
print('Ops, seu palpite deu uma esquentada e agora está muito quente!')
if estado2 == 6:
print('Ops, seu palpite deu uma esquentada e agora está fervendo!')
for tentativa in range(1, 11):
while True:
try:
palpite = input('Tentativa' + str(tentativa) + ':')
palpite = int(palpite)
nrepete.append(palpite)
if (palpite < 1) or (palpite > 100):
raise ValueError
if nrepete.count(palpite) >= 2:
raise NameError
else:
break
except NameError:
print('Esse valor já foi testado! Tente de novo.')
except ValueError:
print('Valor inválido! Tente de novo.')
if palpite == n:
print('\nParabéns !')
print('\nVocê acertou o número', n, 'após', tentativa, 'tentativa(s)!')
break
if tentativa == 1:
SetStatus(tentativa)
if tentativa > 1:
estado1 = estado2
SetStatus(tentativa)
FornecerPista()
if tentativa == 10 and palpite != n:
print('\nLamento, mas após', tentativa, 'tentativas')
print('Você não conseguiu acertar o número', n, 'que eu estava pensando!')