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?
Use regular expressions.
import re
p = re.compile('\d+(\.\d+)?')
a = raw_input('How much is 1 share in that company? ')
while p.match(a) == None:
print "You need to write a number!\n"
a = raw_input('How much is 1 share in that company? ')