How can I determine whether user input is EITHER a float or an integer within a loop? If they input something other than integer/float, I want the loop to repeat until they correctly input a float/integer.
Any help is appreciated! :)
How can I determine whether user input is EITHER a float or an integer within a loop? If they input something other than integer/float, I want the loop to repeat until they correctly input a float/integer.
Any help is appreciated! :)
You can use Errors that are being reported when trying to parse incorrect data using float() and int() function.First, define a generic function to parse both int and float and throw some exception in all other cases:
def parse(x):
value=0
try:
value = int(x)
except ValueError:
try:
value = float(x)
except ValueError:
raise Exception
return value
you can use this generic function to determine correct or incorrect input in a loop
correct = False
while not correct:
try:
parse(input("Enter data:"))
correct = True
except Exception:
print("Invalid input...enter again!")