我想將兩個數字作為輸入 5 次,然后列印出它們的所有總和。它看起來像
enter two numbers:3 4
enter two numbers:3 5
enter two numbers:7 8
enter two numbers:7 1
enter two numbers:7 4
和一個輸出
7
8
15
8
11
這是我嘗試過的。
for k in range(5):
a,b=[int(a) for a in input("enter two numbers:").split()]
print(a b)
我的代碼僅列印出最后兩個輸入的總和。
uj5u.com熱心網友回復:
問題是您正在重新分配a
并且b
在回圈的每次迭代期間。由于您沒有在任何地方存盤和的總和,a
并且b
當您移動到下一次迭代時,這些值會更新為最新的輸入,因此無法將它們列印出來。一個簡單的解決方法是隨時將總和附加到串列中,然后列印出總和:
sums = []
for k in range(5):
a,b=[int(a) for a in input("enter two numbers:").split()]
sums.append(a b)
for sum in sums:
print(sum)
如果您將print(a b)
陳述句放在回圈中,這將只是在輸入每對輸入之后和可以輸入下一個輸入之前列印總和。如果您想知道,實際列印最終總和的原因是 Python 繼續存盤 的值,a
甚至b
在回圈結束之后也是如此。這不一定是預期的行為,但它允許您列印a
,b
甚至當回圈完成時,Python 仍然會記住分配給它們的最后一個值。
uj5u.com熱心網友回復:
將 print 陳述句放在 for 回圈的范圍內,如下所示:
for k in range(5):
a,b=[int(a) for a in input("enter two numbers:").split()]
print(a b)
uj5u.com熱心網友回復:
for i in range(5):
a,b = input("enter two numbers:").split()
print(int(a) int(b))
我認為該代碼可以幫助您滿足您的需求。split 方法將 a 和 b 轉換為字串。因此,當您對它們求和時,您需要將它們轉換為整數值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470690.html