0
If i need the user to input a number in python, how can i check if they really did enter the number and not a string???
variable = int(input("Enter your age? ")), to actually make sure the 'variable' in this case stores a number and not a string or an empty string, without giving an error, "ValueError: invalid literal for int() with base 10: ' ' "...
3 Answers
+ 3
The ValueError is actually there for you to catch ;) If the error is raised (risen?) then the input was not a valid number. And that, I believe, is precisely the information you are looking for :)
try:
i = int(input())
except ValueError:
# handle invalid input here
# for example setting a default
# continue normal processing here
+ 2
You can use the "isnumeric" function. You can do something like the below snippet,
variable=input("Enter your age:")
if(variable.isnumeric()):
num=int(variable)
else:
print("Enter a number pls")
+ 1
Hi Chris!
You may find the isdigit() method useful in this case. It returns true if all the characters of that variable are integers and false vice versa.
Here's how you do it
if input_var.isdigit():
#the rest
else:
#error message