如何从mac终端执行这个python程序

时间:2016-03-23 06:02:00

标签: python python-3.x

我想在我的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)

感谢您的帮助。

4 个答案:

答案 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)前面。它可以正常运作。