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