Validating user input
An important part of making sure your program is as robust as possible
is checking the user's input to make sure they've entered the right sort of
information. Here's a simple example that illustrates the concept.
More advanced techniques can be done using
exception handling.
The following program just asks the user to enter a positive onedigit number
and keeps asking them until they do. For a slightly more complex example, see
my
guessing game.
def validNum(num):
if num < 0:
print "%s is not positive. Try again." % num
return 0
elif num > 9:
print "%s has more than one digit. Try again." % num
return 0
else:
return 1
def getInput():
while 1:
num = raw_input("Enter a positive onedigit integer: ")
if validNum(int(num)):
break
print "You're right. %s is a positive onedigit integer." % num
return
if __name__ == '__main__':
getInput()
When you run the program, it looks like this:
Enter a positive onedigit integer: 10
10 has more than one digit. Try again.
Enter a positive onedigit integer: 8
8 is not positive. Try again.
Enter a positive onedigit integer: 5
You're right. 5 is a positive onedigit integer.
