Com in range não consegui fazer com que quando o usuário digitasse um valor fora do intervalo sugerido perdesse uma tentativa. Alguém tem uma saída?
import random
print("**************************")
print("* JOGO DO NÚMERO SECRETO *")
print("**************************")
numero_secreto = random.randrange(1, 1001)
print(numero_secreto)
print("Escolha a dificuldade")
nivel = int(input("(1) FÁCIL\n(2) MÉDIO\n(3) DIFÍCIL\n: "))
if nivel == 1:
chances = 20
if nivel == 2:
chances = 13
else:
chances = 9
for tentativas in range(0, chances):
if tentativas == chances - 1:
print("ÚLTIMA CHANCE!")
else:
print("VOCê TEM {} CHANCES".format(chances - tentativas))
chute = int(input("Digite um número entre 1 e 1000\n: "))
if chute < 1 or chute > 1000:
print("VOCÊ DEVE ESCOLHER ENTRE 1 E 1000!!!")
continue
certo = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if certo:
print("VOCÊ ACERTOU!")
break
elif menor:
print("É MAIOR!")
elif maior:
print("É MENOR!")
if tentativas == chances - 1:
print("ACABARAM AS SUAS CHANCES!")
print("O NÚMERO SECRETO É {}".format(numero_secreto))
print("FIM DE JOGO")
Eu refiz utilizando o while e além de ter sido mais fácil - para mim - o raciocínio na construção do código, eu também consegui fazer com que não descontasse a tentativa caso colocasse um número fora do intervalo. Entendo que pela didática do curso in range seja muito interessante. Mas i ai, alguém sugere algo?