按Enter键时如何终止循环

时间:2016-04-30 17:27:42

标签: python python-3.x

我想编写一个程序,重复要求用户输入一个整数或按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()

1 个答案:

答案 0 :(得分:2)

如果您正在使用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)