Nathan Pinno said unto the world upon 2005-07-18 09:36: > Danny, > > It sure did, though I wish there was an easier way of coding it than > int(raw_input())! Any ideas would gladly be appreciated.
<snip second question> > Thanks, > Nathan Pinno. <snip Danny's explanation why use of input for 'private code' can still be dangerous> Hi Nathan, If you find it irritating to type int(raw_input()), just wrap it all into a function. The minimal thing would be: >>> def get_int(prompt): return int(raw_input(prompt)) But, if you are doing that, might as well make the function do a bit more: >>> def get_int(prompt): if not prompt.endswith('\n'): prompt += '\n' while True: try: temp = raw_input(prompt) return int(temp) except ValueError: print "'%s' is not an integer. Please try again.\n" %temp >>> a = get_int('I wanna number!') I wanna number! OK, one. 'OK, one.' is not an integer. Please try again. I wanna number! 5 >>> a 5 >>> If you make such a function, test it well, make it general, etc., then you can put it into your own user_input module and never have to write either int(raw_input) or input checking code again. (I've done something like this, with extra things like making sure prompt is an appropriate type of object, etc. Notice what happens as it is now if you do get_int(757575).) HTH, Brian vdB _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor