2017-03-31 143 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

相關問題