所以代码是
def mystery(n):
a, b = 0, 1
while (a < n):
print(a)
a, b = b, a + b
我不太了解的是a,b = b,a + b是如何工作的。对我来说似乎很难理解。我很难理解变量如何与列表相关。有人可以了解正在产生的序列以及数字如何计算。
序列意味着
0
1
1
2
3
5
8
13
21
34
等
我会非常感激,提前谢谢!
答案 0 :(得分:2)
在a, b = b, a + b,
中,在分配到左侧之前评估右侧的表达式。所以它相当于:
c = a + b
a = b
b = c
实际上在你的情况下交换,OP:
a, b = 0,1
将评估为b=0
和a=1