On Fri, Mar 29, 2013 at 9:35 PM, Amit Saha <amitsaha...@gmail.com> wrote: > On Fri, Mar 29, 2013 at 9:33 PM, Ghadir Ghasemi > <ghasemm...@leedslearning.net> wrote: >> Hi guys I am trying to create part of a vending machine. The section below >> is if the user wants to insert 50p coins. It works but when I entered a non >> integer like 'dfsdf', the program just broke. Is there a way that the >> program can check if the input is an integer, and if it is, then the program >> does all the calculations, but if it isn't the program just keeps asking for >> an input? Thanks. Here is the section. >> >> fiftypencecoins = int(input("how many 50p coins do you want to insert or >> press 'e' to exit : ")) >> if fiftypencecoins == 'e': >> break >> else: >> currentmoney += fiftypencecoins * 5/10 >> print("your newly updated credit is £" + str(currentmoney) + "0") > > Is this Python 3 or Python 2 ?
May be that's not relevant. So anyway, if you want to see whether the int() function will be successful on your input, you need to check whether the input constitutes of only digits. I can think of two ways: 1. Easy and naive way: for each character in the input, check whether it is between [0-1] 2. Use regular expressions: http://docs.python.org/2/library/re.html -Amit. -- http://amitsaha.github.com/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor