猿问

不知道错在哪里

L = range(1,101)

for x in L:

    print sum([x*x])


wuyangzx
浏览 1729回答 5
5回答

清波

先废话,再回答问题, 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 入门的书都可以。

phoenixor

sum里面不用[] 啊

IT_for_Ever

亲,你的python版本是不是错啦,试试这个呢print(sum([x*x]))

清波

代码没有错误, 楼主如果想要求 1到100 的平方和的话, 应该如下这么写:sum_num = 0 for x in range(1,101):     sum_num+=(x**2) print sum_num
随时随地看视频慕课网APP

相关分类

Python
我要回答