如何使用用户输入结束程序? [英] How to use user input to end a program?

查看:128
本文介绍了如何使用用户输入结束程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是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 调用

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.

这篇关于如何使用用户输入结束程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆