2016-04-30 689 views
2

我想编写一个程序,该程序反复要求用户输入一个整数或通过按Enter键终止输入,然后从输入的那些数字中打印出偶数整数。如何在按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() 

回答

2

如果您正在使用Python 3.x中,使while循环是这样的:

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

您可能要围绕转变为int用一个try-catch来处理用户输入不可解析的东西的情况,如int

使用Python 2.x中,该input()函数将抛出一个异常,如果输入的是空的(或EOF),那么你可以这样做,而不是:

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