Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我不理解python中的这段代码(帮助)_Python - Fatal编程技术网

我不理解python中的这段代码(帮助)

我不理解python中的这段代码(帮助),python,Python,所以代码是 def mystery(n): a, b = 0, 1 while (a < n): print(a) a, b = b, a + b def神秘(n): a、 b=0,1 而(a

所以代码是

def mystery(n):
    a, b = 0, 1
    while (a < n):
        print(a)
        a, b = b, a + b
def神秘(n):
a、 b=0,1
而(a
我不太明白的一点是a,b=b,a+b是如何工作的。这对我来说似乎真的很难理解。我很难理解变量如何与所涉及的列表一起工作。有没有人能解释一下生产的是什么序列,以及这些数字是如何汇总的

这一序列注定要结束

0

一,

一,

二,

三,

五,

八,

十三,

二十一,

三十四


我会非常感激的,提前谢谢你

a,b=b,a+b,
中,在将右侧的表达式分配到左侧之前,对其进行求值。因此,它相当于:

c = a + b
a = b
b = c
在你的案例中,这实际上是交换,所以,OP:

a,b=0,1


将评估为
b=0
a=1

注意,如果您搜索
def神秘(n)站点:stackoverflow.com
,您将发现近25000个几乎相同的问题…@jornsharpe OMG,其中许多问题都与此精确算法有关。@YatharthROCK是的,这是一个非常常见的编程入门练习