为了账号安全,请及时绑定邮箱和手机立即绑定

这个提示错误,想问下哪里错了

L = range(1,101)

for x in L:

    print sum(x*x)


正在回答

3 回答

编辑器报错了‘int’对象不可迭代。为什么呢?看下sum()函数的源代码就知道了:

sum函数的参数是这样的:sum(iterable[, start]),其中iterable为可迭代对象,可以是list、tuple或者dictionary等。

sum函数最后的值 = 可迭代对象里面的数相加的值 + start的值,其中start可以不写,默认为0。

看到这你就知道了,sum()函数求和的对象是一个可迭代的数据类型。你代码里面的X*X是一个‘int’类型,所以在sum()函数看来,是不可迭代的,所以就会报错。

另外,你的算法也不对,所以平时解题写正确代码,就会少走很多弯路。


0 回复 有任何疑惑可以回复我~

L=range(1,101)


List=[]


for x in L:


    List.append(x*x)


print (sum(List))


1 回复 有任何疑惑可以回复我~

L = range(1,101)
a=[x*x for x in L]
print sum(a)

应该是函数sum()需要一个可迭代对象,比如list。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这个提示错误,想问下哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信