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

为何不能这样

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
  • 参与学习       758361    人
  • 解答问题       8967    个

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

进入课程

为何不能这样

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号