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

为什么两次结果不一样

>>> l=[75,92,59,68]

>>> x=0.0

>>> for y in l:

...     print(y)

...     sum=x+y

...

75

92

59

68

>>> print(sum/4)

17.0




>>> l=[75,92,59,68]

>>> sum=0.0

>>> for x in l:

...     sum=sum+x

...

>>> print(sum/4)

73.5




正在回答

4 回答

x=x+y 

for 循环第一次的结果是,将75从数组里提出来。y = 75 然后运行x=x+y x=0.0+75  x=75。 

第二次 for把92从list里提出来。y = 92 然后运行 x=x+y  此时的x在上一次for的结果是 75.。所以x=75+92 x=167

第三次 提取y= 59 x=167  x=x+y  x= 226

第四次 提取y = 68 。x=226  x=x+y x=226+68  =294

for会运行4次。因为I 里有4个数值。 

最终X的结果是294.这是4个数的和。平均就是除以4

所以 print x/4 

所以 print(y)在此没有意义。

l=[75,92,59,68]

x=0.0

for y in l:

    x=x+y    #此行就是求和运算,配合for依次提取,累计相加。

print(x/4)   #此行一定是不属于for语句之中的。要顶头写,不能有空格。如果在本行前加4个空格,结果会完全不一样。


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

你好,我还是不懂。。print(y)后边的  x=x+y是什么意思求解啊

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

懂了

sum和x都是命名的变量,本身是之前是不具有任何意义的,之前我误以为sum是函数了。

>>> print(qiujie(1,8,6))

(-0.8377223398316205, -7.16227766016838)

>>> l=[75,92,59,68]

>>> x=0.0

>>> for y in l:

...    print(y)

...    x=x+y

...

75

92

59

68

>>> print(x/4)

73.5


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

第一个函数的sum=x+y,而x=0,y=68,所以print(sum/4)=17.0

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

error该昵称已被占用 提问者

sum和x的区别在于哪里呢?
2019-03-17 回复 有任何疑惑可以回复我~
#2

薛定谔与猫 回复 error该昵称已被占用 提问者

sum是你命名的变量,x也是一个变量,这两个毫无关系,完全不是一个变量,下面的写法正确是因为sum的值等于所有的成绩相加,而上面的写法其实sum等于最后一个学生的成绩。答案当然不一样
2019-03-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么两次结果不一样

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