2016-04-30 688 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)