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

为何不能这样

L = [75, 92, 59, 68]

sum = 0.0

for sum in L:

    sum = sum + sum

print sum / 4


正在回答

2 回答

任何编程语言里都不能这么写,有的语言你这么写就等于0,有的就会像python一样,for sum in L,这句话就是把L中的元素取出赋值给sum,每次值都会被重新覆盖。有的编程语言中,sum对象属于局部变量,外部的sum的值一直都不会改变,而局部变量外部无法访问,结果就会变成0。任何语言都不能这么去写代码,即使你知道原理而且结果是正确的,也不行。因为别的开发可能会搞错,时间长了你可能自己都会搞错导致代码异常

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

sum = sum + sum = 2 * sum, 每次循环跳的是两倍,75*2, 而且 你这个sum 还不是累计求和,因为每次 sum 指向list里的一个数,求和就会变成那个数,所以你的答案会是 68*2/4

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

举报

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

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

进入课程

为何不能这样

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