2017-03-31 106 views
0

我写了一个简单的代码与stdinstdout两个数字相加的分别是输入和显示输出显示它们的总和:如何把投入和使用标准输入和标准输出

import sys 
print("Inputs:") 
for one in sys.stdin: 
    break 
int(one) 

for two in sys.stdin: 
    break 
int(two) 

three = 0 

print("Output:") 
three = one + two 

sys.stdout.write(three) 

输出我得到的是:

Inputs: 
1 
2 
Output: 
1 
2 

预期产量是3。但是我得到的是在上面的输出中显示的。

我试着用input()相同的代码:

one = int(input()) 

two = int(input()) 

three = one + two 

print(three) 

而且我得到的输出是3。我的第一个代码中缺少什么?

回答

0

我认为你正在试图做的是:

aNumber = input('Enter a number: ') 
anotherNumber = input('Enter another number: ') 
print(int(aNumber) + int(anotherNumber)) 

要做到这一点使用标准输入/输出,你可以使用:

import sys 
print("Inputs:") 
one = sys.stdin.readline() 
two = sys.stdin.readline() 
print("Output:") 
three = int(one) + int(two) 
four = str(three) 
sys.stdout.write(four) 
+0

是。你写的代码和我想要的一样。但我想使用'stdin'和'stdout'而不是'input()'。如果我这样做,我得到的输出是不正确的,正如我在我的问题中所示。 – CH325

+0

好的。你的第二个代码**工程**。但是,你能告诉我我的代码有什么问题吗? – CH325

+0

我相信这是因为你的变量“一”和“二”在它们的最后包含换行符。 – SLWS

相关问题