[Tutor] How to check if user input is an integer
Alan Gauld
alan.gauld at btinternet.com
Fri Mar 29 13:34:20 CET 2013
On 29/03/13 11:33, Ghadir Ghasemi wrote:
> Hi guys I am trying to create part of a vending machine.
> 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,
Yes you can use try/except to catch the failure.
> if it isn't the program just keeps asking for an input?
and a while loop will keep you circulating.
You may not have come across these in your tutorial/course yet
> fiftypencecoins = int(input("how many 50p coins do you want to insert or press 'e' to exit : "))
> if fiftypencecoins == 'e':
> break
But this check needs to be before you convert to int() otherwise the 'e'
will always raise an error when you try to convert it!
> else:
> currentmoney += fiftypencecoins * 5/10
> print("your newly updated credit is £" + str(currentmoney) + "0")
So in pseudo code you should have
while True:
read input
if exit condition break
try: convert to int
except ValueError: continue
process the value
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list