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

求帮助解答

sum = sum + x*x明明等式结果应该是0=x*x 这不是没意义吗,求解答

正在回答

3 回答

    题主给出这样的理解,应该不是 计算机科班的啦, 怎么说呢。。。 虽然说 Python 是一个特别容易入门的语言,但是也是需要一些基础的。 就好比 我们说 有一座矮山,不陡峭且有砌好的台阶直通山顶, 这样我们可以说:“这座山很好爬的”。 不过这句话也是有前提的: 你得会走路吧。 走路容易么,人能熟练的走路也需要3,4年。


    写完上面一段才发现,怎么说了这么多废话,哈哈,不耽误题主时间了。 我简单的解释下这个问题, 这其中的机制就不讲了,如果题主有兴趣,可以随便找个 计算机基础 的课程看看, 网易公开课或者网上别的什么公开课有很多。


    简单来说,我们可以把sum 看做一个 容器,初始状态我们把 0  放到这个叫做sum 的容器中,然后在用到sum 和赋值运算符号时(也就是‘单等于号’=)的时候分两种情况:

    1. 如果sum 在 赋值符号 “=”的左边,那我们依然把它看做一个容器。

    2. 如果 sum 在 赋值符号 “=”的右边, 那它就不是一个容器了,而是表示它其中的值。

    所以 sum = sum+x*x 基本等价于 sum = 0+ x*x 。 同时这行代码 是赋值语句,所以 sum 这个容器里的值 就变成了 x*x 的值, 然后 for 循环继续, 这个sum 中的值也在 依次进行着 增加。


    虽然不严谨,我也只能这样解释了, 一般的Python 入门书籍中 更愿意将 变量名比作标签, 值比作物件, 然后赋值就是 把某个标签贴到某物件上, 比如 sum=0, 就是 把一个写着sum 的标签 贴到 0 上面。 

    这种解释 虽然很是贴切计算机的内存存储机制,但是对于初学者来说容易混淆。 所以我更愿意用 ‘容器论’来讲解。 

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

作死型糯米团子 提问者

非常感谢!我明白了
2016-04-15 回复 有任何疑惑可以回复我~

在编程语言里 = 是赋值的意思 ,就是将 等号右边的值赋给左边的变量

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

sum = 0
for x in L:
sum = sum + x * x

这个相当于累加。当x=1时,sum=0+1*1,sum的值为1.当x=2时,sum=1+2*2,sum的值为5。

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

举报

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

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

进入课程

求帮助解答

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

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

帮助反馈 APP下载

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

公众号

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