课程
/后端开发
/Python
/初识Python
L = range(1,101)
for x in L:
print sum(x*x)
2019-06-27
源自:初识Python 7-2
正在回答
编辑器报错了‘int’对象不可迭代。为什么呢?看下sum()函数的源代码就知道了:
sum函数的参数是这样的:sum(iterable[, start]),其中iterable为可迭代对象,可以是list、tuple或者dictionary等。
sum函数最后的值 = 可迭代对象里面的数相加的值 + start的值,其中start可以不写,默认为0。
看到这你就知道了,sum()函数求和的对象是一个可迭代的数据类型。你代码里面的X*X是一个‘int’类型,所以在sum()函数看来,是不可迭代的,所以就会报错。
另外,你的算法也不对,所以平时解题写正确代码,就会少走很多弯路。
L=range(1,101)
List=[]
List.append(x*x)
print (sum(List))
L = range(1,101)a=[x*x for x in L]print sum(a)
应该是函数sum()需要一个可迭代对象,比如list。。
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序