Using isdigit for floats?
问题 a = raw_input('How much is 1 share in that company? ') while not a.isdigit(): print("You need to write a number!\n") a = raw_input('How much is 1 share in that company? ') This only works if the user enters an integer , but I want it to work even if they enter a float , but not when they enter a string . So the user should be able to enter both 9 and 9.2 , but not abc . How should I do it? 回答1: Use regular expressions. import re p = re.compile('\d+(\.\d+)?') a = raw_input('How much is 1 share