Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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:a,b=1,2,a=1;b=2严格等效?_Python_Python 2.7_Loops_Syntax - Fatal编程技术网

Python:a,b=1,2,a=1;b=2严格等效?

Python:a,b=1,2,a=1;b=2严格等效?,python,python-2.7,loops,syntax,Python,Python 2.7,Loops,Syntax,我对以下几点感到困惑: 这项工作: a, b = 1071, 1029 while(a%b != 0): a, b = b, a%b 但是,以下代码段返回一条ZeroDivisionError错误消息: a, b = 1071, 1029 while(a%b != 0): a = b; b = a%b 虽然我希望两者完全相同 谁能把灯打开吗?不,请进来 a, b = b, a%b 首先将右侧计算为元组,因此使用a的原始值计算a%b。相比之下 a = b; b = a%b

我对以下几点感到困惑:

这项工作:

a, b = 1071, 1029
while(a%b != 0):
    a, b = b, a%b
但是,以下代码段返回一条ZeroDivisionError错误消息:

a, b = 1071, 1029
while(a%b != 0):
    a = b; b = a%b
虽然我希望两者完全相同

谁能把灯打开吗?

不,请进来

a, b = b, a%b
首先将右侧计算为元组,因此使用
a
的原始值计算
a%b
。相比之下

a = b; b = a%b

a%b
是在
a
分配了
b
的值后计算的,为
b
分配了不同的结果

为什么你在标题中问了一个问题,而在正文中问了一个完全不同的问题?这是同一个问题,它们不是同一个问题,但只有当你了解
a,b=1,2
的工作原理时,这一点才明显,这就排除了问这个问题:)