Boa noite galera, tudo bem? Estou com um problema que não consigo solucionar, quero que meu codigo valide um numero inteiro, e que não quebre ao digitar uma letra ou um float, mas não consigo fazer isso de maneira eficaz a parte em especifico é essa:
numero_escolhido = input('Digite um numero entre 1 e 100: ')
if not isinstance(numero_escolhido, int):
print('Digite um NUMERO!')
continue
elif numero_escolhido not in range(1, 100):
print('Digite um numero entre 1 e 100!')
continue
No momento o codigo fica em loop em "digite um numero" alguma dica? vou deixar o codigo completo a baixo.
print('######################') print('#JOGO DA ADIVINHAÇÃO!#') print('######################') print('Tente descobrir o numero secredo, se suas tentativas ou pontos chegarema a zero, você perde.')
from random import randint
numero_sorteado = randint(1, 101) total = 0 tentativas = 0 pontos = 1000
print(numero_sorteado)
dificuldade = int(input('Qual dificuldade deseja? [1] facil [2] medio [3] dificil: '))
if (dificuldade == 3): total += 3 elif (dificuldade == 2): total += 6 elif (dificuldade == 1): total+= 10 else: print('Valor invalido!')
print(f'Boa sorte! Você tem {pontos} pontos!')
while (total > 0):
print(f'Numero de tentativas: {total}')
numero_escolhido = input('Digite um numero entre 1 e 100: ')
if not isinstance(numero_escolhido, int):
print('Digite um NUMERO!')
continue
elif numero_escolhido not in range(1, 100):
print('Digite um numero entre 1 e 100!')
continue
if (dificuldade == 1):
pontos_perdidos = (numero_escolhido - numero_sorteado)
pontos = pontos - pontos_perdidos
elif (dificuldade == 2):
pontos_perdidos = (numero_escolhido - numero_sorteado) - ((100 * 10) / 100)
pontos = pontos - pontos_perdidos
else:
pontos_perdidos = (numero_escolhido - numero_sorteado) - ((100 * 25) / 100)
pontos = pontos - pontos_perdidos
print(f'Tentativas restantes: {total}')
if (pontos <= 0):
print('Seus pontos acabaram, você perdeu.')
break
if (numero_escolhido == numero_sorteado):
print(f'Você acertou o numero sorteado: {numero_sorteado}')
print(f'Foram necessarias {tentativas} tentativas!')
print(f'Sobraram {pontos}!')
elif (numero_escolhido > numero_sorteado):
print(f'o numero digitado foi... {numero_escolhido}! o numero é maior que o sorteado.')
tentativas += 1
elif (numero_escolhido < numero_sorteado):
print(f'O numero digitado foi... {numero_escolhido}! o numero é menor que o sorteado.')
tentativas += 1
total -= 1
print('Fim de jogo!')