2014-03-12 51 views
-2

我在完成循環後試圖找到intsum。我已閱讀關於此主題的所有答案,但我仍然遇到了我的代碼問題。有人可以闡明如何讓這些小代碼起作用嗎?當我嘗試打印總和(x)時出現錯誤

x = 0 
while x < 10: 
    x = x + 5 
    a = sum([x]) 
    print a 
+0

Python版本? –

+0

實際錯誤(追溯)?另外,請注意'sum([x])== x',不需要引入變量'a'。 – jonrsharpe

+2

是什麼問題?如果我將其複製並粘貼到Python解釋器中,則您發佈的代碼可用。你甚至想要什麼?什麼是'(單個)整數'的總和? –

回答

0
print sum(x) 

將提高

TypeError: 'int' object is not iterable 

因爲xint,並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)) 
+0

... OP的代碼沒有'打印sum(x)',它使用'sum([x])' – jonrsharpe

+0

@jonrsharpe:閱讀問題的標題。 – unutbu

+0

啊,這肯定會給'TypeError',這是它的標籤。良好的OP提供代碼無關的問題,如果是這樣的話! – jonrsharpe

0
x = 0 
a = 0 
while x < 10: 
    x = x + 5 
    a = sum([a, x]) 
    print a 
+0

這裏的解釋會有幫助... –

+0

'sum([a,x])'表示將每個表格元素相加的迴歸總和 – WBAR

+0

將其添加到您的答案 –

1

什麼是 「int的總和」 是什麼意思?如果你想的x最終的結果,好像這純粹是10.如果你想的x迭代的總和,也許你可以試試這個:

x = 0 
a = 0 
while x < 10: 
    x = x + 5 
    a = a + x 
print a 
+0

+1我認爲這是OP正在尋找的內容。然而,使用'sum'作爲變量名,掩蓋了同名內置函數。 – unutbu

+0

好點,編輯到OP的變量'a'。 – mcw

相關問題