Eu ouvi o professor comentando, talvez eu tenha perdido, porém... como fazer para um possível chute invalido, fora do range 1-50, não contar como uma tentativa(rodada), ou seja, caso o jogador escreva um numero invalido e jogo retorna o aviso: "Você deve digitar um número entre 1 e 50" e segue na mesma rodada ao invés de pular para a próxima? alguém implementou isso? obrigado
meu código:
import random
def jogar():
print("Bem vindo ao jogo de Adivinhação!")
print("\nNumero entre 1-50")
print("\n*********************************")
print("Escolha um nível de dificuldade")
print("\n (1) FÁCIL \n (2) MÉDIO \n (3) DIFICIL")
nivel = int(input("\nDefina o nível: "))
raw_numero_secreto = random.randrange(1, 51)
numero_secreto = int(raw_numero_secreto)
tentativas = 6
pontos = 1000
if nivel == 1:
tentativas = 15
elif nivel == 2:
tentativas = 10
elif nivel == 3:
tentativas = 5
for rodada in range(1, tentativas + 1):
print("\nRodada n° {} de {}".format(rodada, tentativas))
chute = input("\nDigite seu numero: ")
print("\nVocê digitou:",chute)
chute = int(chute)
if chute < 1 or chute > 50:
print("Você deve digitar um número entre 1 e 50")
continue
acertou = numero_secreto == chute
maior = chute > numero_secreto
menor = chute < numero_secreto
if acertou:
print("\nVocê acertou e fez {} pontos!".format(pontos))
break
else:
if maior:
print("\nVocê errou, seu chute foi maior que o número secreto!\n")
elif menor:
print("\nVocê errou, seu chute foi menor que o número secreto!\n")
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
print("-----------------------------------------------------------")
rodada = rodada + 1
print("\nFim de jogo!")
print("\n O número secreto era: {}".format(numero_secreto))
print("\n Pontuação: {}".format(pontos))
if __name__ == "__main__":
jogar()