我编写了一个简单的Python3程序,如下所示:
import sys
input = sys.stdin.read()
tokens = input.split()
a = int(tokens[0])
b = int(tokens[1])
print(a + b)
但在发送了一个“Ctrl-D”EOF之后,我得到了这个:
$ python3 APlusB.py
5 4
9D
答案后面是“D”。 但如果我加上5和5,它就不会:
$ python3 APlusB.py
5 5
10
为什么它用第一个发“D”,而不是第二个?你知道吗
这是你终端的产物。你知道吗
将代码更改为:
你会看到发生了什么:
首先,按control-D,终端在屏幕上显示^D。你知道吗
然后发生延迟。你知道吗
最后,python的
print
会发出1到2个字母(取决于您的输入),这些字母会覆盖您按Ctrl-D时终端显示的“^D”我建议您开始使用^{} 函数,它可以更好地处理用户。;—)
相关问题 更多 >
编程相关推荐