pythoninputtypes

How can I check if string input is a number?


How do I check if a user's string input is a number (e.g., -1, 0, 1, etc.)?

user_input = input("Enter something:")

if type(user_input) == int:
    print("Is a number")
else:
    print("Not a number")

The above won't work since input always returns a string.


Solution

  • Simply try converting it to an int and then bailing out if it doesn't work.

    try:
        val = int(userInput)
    except ValueError:
        print("That's not an int!")
    

    See Handling Exceptions in the official tutorial.