L = range(1,101)for x in L: print sum([x*x])
5 回答
已采纳
清波
TA贡献165条经验 获得超90个赞
先废话,再回答问题, for...in... 本来应该是 Python 中最强大的范式了, Python 为 iterable类型 做了很多功能,然后 用关键字 for... in iterable object, 组合出最简便的 遍历方法, 但是也恰恰是这样,很多人都会对这个有所误解!!
正式开始回答:
L = range(1,101) for x in L: print sum([x*x])
题主代码如上,题主想求的什么结果呢,问题里没有给出描述,代码是没有错误的,那肯定是没有得到预期的结果了, 我猜题主想 求 1到100 的 数 的 平方 的和。
如果是这样的话,有很多种思路:
其一, 列表推导式
L=[x*x for x in range(1,101)] print L [1, 4, 9, 16, ......., 10000 ] result = sum(L) print result 338350 ###放到一个句子就是: print sum([x*x for x in range(1,101)])
其二, 新建数据,for 循环 append.
L=[] for x in range(1,101): L.append(x*x) print sum(L) 338350 ## 不如列表推导式 方便 简洁。
问题回答完了, 我又要开始啰嗦了。 建议题主 深入学习下 for ... in ... 可以从网上找文章,或者随便一本Python 入门的书都可以。
清波
TA贡献165条经验 获得超90个赞
代码没有错误, 楼主如果想要求 1到100 的平方和的话, 应该如下这么写:
sum_num = 0 for x in range(1,101): sum_num+=(x**2) print sum_num
添加回答
举报
0/150
提交
取消