学习笔记之a,b=b,a+b与a=b,b=a+b的区别

   兔子序列中用到的常用的计算方法:a,b=b,a+b

   当我们真正去运行的时候,会发现它与a=b,b=a+b是有区别的

   实例代码如下:

def YY(one):
    a,b,n=0,1,0
    while(n<one):
        print(b,end=' ')
        a,b=b,a+b   #a,b同时运行,此时b赋值给a,a等于1.a+b赋值给b,b==0+1==1                               
        n+=1
        print(a)
YY(3)

print(' ')    #加一个空格好分辨

def YY1(two):
    x,y,count=0,1,0
    while (count<two):
        print(y,end=" ")
        x=y                            #y赋值给x,即x等于y等于1
        y=x+y                        #x+y赋值给y,即y等于x+y等于1+1等于2
        count+=1
        print(x)
YY1(3)

运行结果:
1 1
1 1
2 2
 
1 1
2 2
4 4
Review_one

   旁边的解释很清楚,当运行a,b=b,a+b时,赋值给b的时候,a的数值还是a

   而运行a=b,b=a+b时,赋值给b时,a的数值已变为b

   这样的逻辑可以理解了吧

posted @ 2017-02-17 17:53  愚钝的大叔  阅读(524)  评论(0编辑  收藏  举报