我想在我的OSX终端中执行以下名为APlusB.py的程序,为输入输入两个数字并让它计算值并退出。在我的终端中输入:
$ python3 APlusB.py
然后我在空行上得到一个小光标,我输入
3 4
之后我该怎么办?如果我点击Ctl + d然后程序终止,这就是我想要的,但它打印7D我更喜欢它只是计算我的值,并打印7
# Uses python3
import sys
input = sys.stdin.read()
tokens = input.split()
a = int(tokens[0])
b = int(tokens[1])
print(a + b)
感谢您的帮助。
答案 0 :(得分:3)
sys.stdin.read
等待用户输入EOF
。
尝试使用input
,当用户输入新行时,它会返回。
不要为您的变量输入命名,因为您将重新定义您需要使用的输入函数。
答案 1 :(得分:1)
请使用sys.stdin.readline()
stdin.read(1)
从stdin中读取一个字符。如果在该点读取多个字符(例如,读入的一个字符后面的换行符),那么该字符仍将在缓冲区中等待下一个read()
或{{ 1}}。
readline()
用法:
import sys
input = sys.stdin.readline()
tokens = input.split()
a = int(tokens[0])
b = int(tokens[1])
print(a + b)
答案 2 :(得分:0)
这是接受输入的最佳方式。它适用于Python 3。
tokens = input()
tokens = tokens.split()
a = int(tokens[0])
b = int(tokens[1])
print(a + b)
答案 3 :(得分:0)
import sys
input = sys.stdin.read()
tokens = input.split()
a = int(tokens[0])
b = int(tokens[1])
print tokens
print(a + b)
如果您将print tokens
放在print(a+b)
前面。它可以正常运作。