我在完成循環後試圖找到int
的sum
。我已閱讀關於此主題的所有答案,但我仍然遇到了我的代碼問題。有人可以闡明如何讓這些小代碼起作用嗎?當我嘗試打印總和(x)時出現錯誤
x = 0
while x < 10:
x = x + 5
a = sum([x])
print a
我在完成循環後試圖找到int
的sum
。我已閱讀關於此主題的所有答案,但我仍然遇到了我的代碼問題。有人可以闡明如何讓這些小代碼起作用嗎?當我嘗試打印總和(x)時出現錯誤
x = 0
while x < 10:
x = x + 5
a = sum([x])
print a
print sum(x)
將提高
TypeError: 'int' object is not iterable
因爲x
是int
,並int
s爲不迭代。在while
循環後,x
本來值10試着
print x
代替。
如果你想的ints
(複數)x
的總和,然後
x = 0
total = 0
while x < 10:
x = x + 5
total = total + x
print total
打印15.還有一個更簡單的方法來做到這一點,但是。例如,你可以使用range產生的x
值:
In [3]: range(5, 15, 5)
Out[3]: [5, 10]
In [4]: sum(range(5, 15, 5))
Out[4]: 15
range(start,end,step)
告訴Python來生成數字的序列開始start
是上去end
(不含),在step
增量。
所以上面的while-loop
可以簡化成
total = sum(range(5, 15, 5))
... OP的代碼沒有'打印sum(x)',它使用'sum([x])' – jonrsharpe
@jonrsharpe:閱讀問題的標題。 – unutbu
啊,這肯定會給'TypeError',這是它的標籤。良好的OP提供代碼無關的問題,如果是這樣的話! – jonrsharpe
x = 0
a = 0
while x < 10:
x = x + 5
a = sum([a, x])
print a
Python版本? –
實際錯誤(追溯)?另外,請注意'sum([x])== x',不需要引入變量'a'。 – jonrsharpe
是什麼問題?如果我將其複製並粘貼到Python解釋器中,則您發佈的代碼可用。你甚至想要什麼?什麼是'(單個)整數'的總和? –