前十个数字的总和平方有助于Python

时间:2015-08-25 18:25:22

标签: python

for code in range(1,11) :
    a = code**2
    b = sum(a)
    print(b)

我试图找到前10个数字的平方和。

1 ^ 2 + 2 ^ 2 + ... + 10 ^ 2 = 385

但我的程序不会允许行b = sum(a)。你能帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

sum()不能像这样工作。此函数接受可迭代并计算每个元素的总和。

这就是为什么你必须在for内设置sum()循环 的原因,这称为"生成器表达式"。

b = sum(code**2 for code in range(1,11))

答案 1 :(得分:0)

sum函数将序列作为参数。如果你使用它,你不需要循环。另外,python中的取幂运算符是**而不是^,所以你可以说

<%@ page import="" %>

答案 2 :(得分:0)

要在for循环中执行此操作,您需要每次通过for循环添加到b变量,如下所示:

b = 0
for code in range(1,11):
    a = code**2
    b = b + a
print(b)

您也可以使用python的列表推导在一行中执行此操作,并跳过for循环:

b = sum([a**2 for a in range(1, 11)])
print(b)