我是python的新手,我正在编写一个将毫米转换为英寸的程序.基本上,它是一个连续循环,可让您不断输入数字并获得正确的转换后的测量值.我想放置一个IF语句,该语句将允许用户键入"end"以结束程序,而不是转换更多的度量单位.我将如何进行这项工作(什么python代码可以让您退出书面程序并可以在IF语句中使用?)?
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)解决方案
只需使用 iter 和前哨:
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)通过这种方式, iter 调用 input 并将其返回值存储在i中,直到i == 'end'. /p>
请注意,如上例所示,如果用户输入非数字值,您可能需要进行一些错误检查.
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.
更多推荐
如何使用用户输入结束程序?
发布评论