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:\untitled\project2\venv\Scripts\python.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