【问题标题】:How can I terminate a loop when pressing Enter按 Enter 时如何终止循环
【发布时间】:2016-04-30 17:27:42
【问题描述】:

我想编写一个程序,重复要求用户输入整数或按 Enter 键终止输入,然后从输入的数字中打印偶数。

现在,我已经完成了这个程序,我在下面提到了我提出的代码。我只面临一个问题:当用户按下 Enter 键时如何终止程序?

def evenMem(aList):
    mnew = []
    for i in aList:
        if (i % 2) == 0:
            mnew.append(i)
    return mnew

def main():
    m = []
    while True:
        n = int(input('Enter a number: '))
        m.append(n)
    print(evenMem(m))

main()

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    如果您使用的是 Python 3.x,请让 while 循环如下所示:

    while True:
        line = input('Enter a number: ')
        if not line:
            break
        n = int(line)
        m.append(n)
    

    您可能希望使用 try-catch 包围到 int 的转换,以处理用户输入的内容无法解析为 int 的情况。

    在 Python 2.x 中,如果输入为空(或 EOF),input() 函数将引发异常,因此您可以改为:

    while True:
        try:
            n = int(input('Enter a number: '))
        except:
            break
        m.append(n)
    

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 2022-07-18
      相关资源
      最近更新 更多