tag*_*oma 3 python syntax loops python-2.7
我对以下内容感到困惑:
这有效:
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
虽然我预计两者都是完全相同的.
有人可以对此嗤之以鼻吗?
che*_*ner 12
不,在
a, b = b, a%b
右侧首先被评估为元组,因此a%b使用原始值计算a.相反,
a = b; b = a%b
a%b在分配了值之后 计算,a为其分配b不同的结果b.