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

a, b=b , a+b什么鬼

求大伙帮忙解释下,评论的内容没有看懂

正在回答

5 回答

http://img1.sycdn.imooc.com//57a2f4720001251401230063.jpg

7月7日,有个兄弟也是解答别人问题时发的图。可以帮到你。之所以写成 a ,b =b, a + b.是因为本题的要求是求一个斐波那契额数列,也就是从第三个数开始,后一个数是前两个数的和。举例

正确理解

a = 2

b = 3

a , b = b , a + b

>a = 3

>b =  5

你可以发现,a和b的两个值是同时更新的。本题中一个斐波那契数列是[0, 1, 1, 2, 3, 5, 8, 13, 21, 34],你也可以发现,开始时定义的a = 2 ,b = 3,求  出更新后的a = 3,b = 5,正好数列每次向后移了一个位置。

错误理解

a = 2

b = 3

a = b

b = a + b

> a

3

>b

6

你可以看到,这样并不是同步的更新a和b,计算b的时候,利用的是已经更新过的a

综上,a , b = b, a + b 不可以写成a = b

                                                     b = a+ b


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

小啥米 提问者

非常感谢!
2016-08-04 回复 有任何疑惑可以回复我~

好简洁,省事

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

a, b = b, a + b

b赋值给a, a+b赋值给b,也可以分开写:

a = b
b = a + b
0 回复 有任何疑惑可以回复我~
#1

fengyuchen

你的这种分开写的方式是错的
2017-11-20 回复 有任何疑惑可以回复我~
#2

weibo_张不怎么靠谱_0

分开写,你试试就知道了。看看和写一行的结果是不是一样
2018-03-23 回复 有任何疑惑可以回复我~

什么意思偶,没听过

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

就是a=b,b=a+b,数列每次后移一个位置,从而实现斐波那契数列。

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

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

a, b=b , a+b什么鬼

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