如何在python中使用Cntr+z发出输入结束的信号



请帮我弄清楚如何到达后面。我需要创建一个带有循环的程序,该程序将接受来自用户的整数,然后显示它们的和。但是,输入必须使用组合(cntr+z或cntl+d,具体取决于系统(完成。此外,程序应该检查这些是否是整数,如果应该给出错误,则返回结果并退出。但我不明白如何通过按cntr+z或ctrl+d来结束输入。请帮我弄清楚。这是我的代码:

number = 0
sum = 0
while True:
try:
listnum = input('Input numbers or press Enter to quit and get total sum: ')
except EOFError:
pass
try:
number = number + 1
sum = sum + int(listnum)   
except IOError:
number = number - 1
print('Error') 
break
print('The total of input is:',sum) 
main()```

您可以使用sys.stdin来读取输入,在下面的代码段中,会询问输入,直到您达到ctrl+d。然后将其存储在input_from_user中,您可以在其中执行验证。

>>> import sys
>>> input_from_user=sys.stdin.read()
1
2
3
>>> input_from_user
'1n2n3n'

该程序现在可以是类似的东西

import sys
input_from_user=sys.stdin.read()
try:
total=sum(map(int,input_from_user.splitlines()))
except ValueError:
print('Error')
else:
print('Total is', total)

输出

1
2
3
Total is 6

非int大小写

1
2
a
Error

最新更新