我正在研究 euler 项目,不过这无关紧要。我正在编写一个快速代码来打印出斐波那契数列。实际上,我对项目欧拉方程有不同的代码,但这本质上是我正在使用的算法:
x = 1
y = 0
while x < 4000000:
print x
x = y
y = x + y
这让我困扰了一段时间,这应该有效。然后我研究了一下,发现几乎相同的代码,但格式有点不同。它奏效了!唯一的区别是将 x 和 y 赋值放在一行中,用逗号分隔。所以我试了一下:
x , y = 1 , 0
while x < 4000000:
print x
x,y = y, x + y
显然,正如我所说,它奏效了。这真的让我很困扰,因为除了聪明并在第二个中使用更少的行之外,我无法弄清楚两者之间的区别。我不明白为什么输出不同。为什么输出不一样?