I'm new to python and I am writing a program that converts Millimeters to Inches. Basically its a continuous loop that allows you to keep putting in numbers and get the correct converted measurement. I want to put an IF statement that will allow the user to type "end" to end the program instead of converting more units of measurement. How would I go about making this work (what python code allows you to exit a written program and can be used in an IF statement.)?
convert=float(25.4)
while True:
print("*******MM*******")
MM=float(input())
Results=float(MM/convert)
print("*****Inches*****")
print("%.3f" % Results)
print("%.4f" % Results)
print("%.5f" % Results)
解决方案
Just use iter with a sentinel:
print ("Convert MM to Inches")
convert=float(25.4)
for i in iter(input, 'end'):
print("*******MM*******")
try:
MM=float(i)
except ValueError:
print("can't convert {}".format(i))
else:
Results=float(MM/convert)
print("*****Inches*****")
print("%.3f" % Results)
print("%.4f" % Results)
print("%.5f" % Results)
This way, iter calls input and stores the return value of it in i until i == 'end'.
Note that you probably want some error checking in case the user enters a non numeric value like in the example above.