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

为什么要在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?

正在回答

2 回答

第一个问题

    不太确定你应该想问的是什么?

    - 如果是说为什么不用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 的作用是一样的

    

3 回复 有任何疑惑可以回复我~
  1. 因为要累加求和的是L这个list里面的元素,不是L。是75,92,59,68这四个数字累加,而不是这个整体。所以需要一个变量从list里面依次取出里面的元素。

  2. sum是0,不是空。空是什么也没有,0是有东西的,0是一个数。

  3. sum=sum+x意思是把当前sum的值加上当前的x值,再把和赋值给sum。实现的是累加操作。sum=x只是把当前的x赋值给sum。sum=L,是把L这个list给sum。操作都不一样

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

举报

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

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

进入课程

为什么要在for循环中重新定义一个变量?而不直接使用L集合?

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