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