为了账号安全,请及时绑定邮箱和手机立即绑定
关注
精慕门231108

谁能帮忙解释一下两个sum分别表达的意思?

L = [75, 92, 59, 68]
sum = 0.0
for i in L:
    sum = sum + i   --为什么是sum+i?这个sum是代表什么?很迷茫!!
print sum / 4


2019-10-22 源自:初识Python 5-4 153 浏览 3 回答

最佳回答

2019-10-22

第一个sum = 0.0,是为了给sum一个初始值,因为在没有或者L里面分数之前,这个总和就是0(为了计算出小数,所以写成 0.0)。之后开始执行代码, sum = sum + i 中,后一个sum,就是初始值,然后加上从L中循环出来的第一个 i,就是75分,并把这个计算值,重新赋值给 sum。第一次循环结束,然后判断,满足条件的情况下,在此循环,那么sum = sum+i 时,这个第二个sum 就是上次赋值过来的  0 + 75,再加上L中第二个值,92,计算之后,在赋值给前一个sum,新的sum ,就是 0 + 75(第一次循环值)+ 92.以此类推

精慕门231108 (提问者)

明白了,谢谢!
不过之后学到的sum(L)和for i in L: sum = sum + i 等于是一样的对吗?

#1 2019-10-23 回复

sum = 0.0 又定义的是那个sum呢?

2019-10-22
回复 0

这里面sum是一盒变量,sum = 0.0 是给最初始的sum(我们就称为sum0)赋值为0,因为此时计算还没有开始。随后 sum = sum + i 其实是把sum0 和I的值相加,得到一个新结果sum(我们成为sum1),所以赋值语句的含义就是 sum1 = sum0 +i. 运行完这段以后,sum0自动消失,只留下了sum1,以此类推,会有sum1消失留下sum2,sum2消失留下sum3,最后留下一个sumN,这个sumN就是的sum。系统为了节约内存,因此不产生新的变量,所以每当sum0消失sum1生成的时候,sum1就变成sum。最后sumN生成了也变成sum,他们只是用了一个名字sum,但是代表的数值是不一样的。

2019-10-22
回复 0

精慕门231108 (提问者)

谢谢^.^

#1 2019-10-23 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信