为什么要在for循环中重新定义一个变量?而不直接使用L集合?
L = [75, 92, 59, 68]
sum = 0.0
for x in L:
sum=sum+x
print sum / 4
为什么要在for循环中重新定义一个变量x?而不直接使用L集合?
sum=sum+x sum是否可以理解为空值?为什么不直接写成sum=x或者sum=L?
L = [75, 92, 59, 68]
sum = 0.0
for x in L:
sum=sum+x
print sum / 4
为什么要在for循环中重新定义一个变量x?而不直接使用L集合?
sum=sum+x sum是否可以理解为空值?为什么不直接写成sum=x或者sum=L?
2019-06-18
第一个问题
不太确定你应该想问的是什么?
- 如果是说为什么不用L[0]+L[1]+...+L[3],这是为了简洁方便,不然遇到一个长度几千的集合要写几千次
- 如果是说为什么不对L直接进行操作,因为L是一个集合,不能对集合直接进行加减乘除的操作,要把它里面的内 容单独提取出来再进行操作
第二个问题
sum在for循环之前就已经建立了,它的值是0.0。sum的意思是总和,我们建立它就是为了存储L中所有数的总和。
如果我们把L形象化,它大概是这个样子的:
|75| |92| |59| |68|
在for循环中,我们会遍历这个集合
为什么是 sum = sum + x 而不是 sum = x呢?
如果我们模拟一下这个循环
第一次循环,sum = 0.0 + 75
第二次循环,sum = 75.0 + 92
...以此类推
但如果写成sum=x,
第一次循环,sum = 75
第二次循环,sum = 92
...
这样的话sum=x 仅仅是将L中的最后一个x赋给了sum
sum = L 同理,集合是不能用于数学操作的
还有一种写法,sum += x 也是可以的,和sum = sum + x 的作用是一样的
举报