zoukankan      html  css  js  c++  java
  • 1.python的 a,b=b,a+b 和 a=b b=a+b 的区别

     1 n1,a1,b1=0,0,1
     2 while n1<6:
     3     print(b1,end=' ')
     4     a1,b1=b1,a1+b1
     5     n1=n1+1
     6 print()
     7 
     8 n2,a2,b2=0,0,1
     9 while n2<6:
    10     print(b2,end=' ')
    11     a2=b2
    12     b2=a2+b2
    13     n2=n2+1
    14 ###################################
    15 D:untitledproject2venvScriptspython.exe D:/untitled/project2/day1/342432.py
    16 1 1 2 3 5 8 
    17 1 2 4 8 16 32 
    18 Process finished with exit code 0

    可见上面的输出结果是不一样的。那么为什么呢?

    a,b=b,a+b 这个公式是赋值运算,先右边的运算,然后再给左边的赋值。

     1 a = 0
     2 b = 1
     3 a , b = b , a + b 
     4 # 这种赋值,先计算等值 右边 就是 b=1 a+b=0+1=1
     5 # 再赋值给a和b,那么 a=1, b=1
     6 # 然后就是依次这样
     7 #################################
     8 a = b
     9 # 此时a=1
    10 b = a + b
    11 # b=1+1=2
  • 相关阅读:
    Evensgn 的债务
    Passward
    拯救莫莉斯
    文艺平衡树
    Fliptile 翻格子游戏
    Making the Grade (bzoj1592)
    紧急疏散evacuate
    Password
    [NOIP2015]斗地主
    运输问题1
  • 原文地址:https://www.cnblogs.com/linfengs/p/11641776.html
Copyright © 2011-2022 走看看