Panagiotis Atmatzidis wrote: > Hello, > > Can someone provide me with an error checking example about an x > variable that needs to be number only? I used something like: > > def useridf(): > print "" > print "WARNING: If you don't understand why this must be unique, > exit and read the manual." > print "" > userid = input("x : ") > > I know that "input" accepts only numbers, but I don't want the program > to break if someone puts other chars in it. I want to, print "Only > numbers are accepted." which is easy. But still I can't understand how > to do the check using if/elif/else statements.
Another way to do this is to use raw_input() to get the input as a string, then just try to convert it to an int and catch any exception. This also works well encapsulated into a function: def getInt(prompt): while 1: s = raw_input(prompt) try: return int(s) except ValueError: print 'Only numbers are accepted' This approach will accept negative numbers as well as positive: >>> def getInt(prompt): ... while 1: ... s = raw_input(prompt) ... try: ... return int(s) ... except ValueError: ... print 'Only numbers are accepted' ... >>> getInt('x: ') x: ae Only numbers are accepted x: -4 -4 Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor