私は Project euler に取り組んでいますが、それは重要ではありません。フィボナッチ数列を出力する簡単なコードを書いています。私は実際にプロジェクトのオイラー方程式の別のコードを持っていますが、これは基本的に私が使用しているアルゴリズムです:
x = 1
y = 0
while x < 4000000:
print x
x = y
y = x + y
これはしばらくの間私を悩ませていました、これはうまくいったはずです。その後、少し調べたところ、実質的に同じコードを見つけましたが、形式が少し異なりました。そしてそれは働いた!唯一の違いは、x と y の割り当てをカンマで区切って 1 行にまとめたことです。だから私はそれを試しました:
x , y = 1 , 0
while x < 4000000:
print x
x,y = y, x + y
明らかに、私が言ったように、それはうまくいきました。賢いことと2番目の行の使用量が少ないこと以外に、2つの違いが何であるかを理解できないため、これは本当に気になります。出力が異なる理由がわかりません。なぜ出力が異なるのですか?