2
respostas

Limitar input apenas a números

Tentativa 1 de 3 digite o seu número: a Você digitou: a Traceback (most recent call last): File "C:/Users/andre/PycharmProjects/jogo/adivinhacao.py", line 14, in chute = int(chute_str) ValueError: invalid literal for int() with base 10: 'a'

Process finished with exit code 1

2 respostas

Você pode usar o try com dois except, dessa forma:

ehNumero = False

while (ehNumero == False):
    chute = input("Digite o seu número: ")

    try:
        int(chute)
        print("O chute é um número!")
        ehNumero = True

    except ValueError:
        try:
            float(chute)
            print("O chute é um número!")
            ehNumero = True

        except ValueError:
            print("O valor não é um número")

Bom dia, pode ser feito desta maneira

while True:
    n = input("Digite um numero: ")
    if n.isnumeric():
        print('Voce digitou o numero ' + n)
        break
    else:
        continue
        #se quiser coloque uma mensagem de erro