2014-03-12 47 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

相关问题