0

私が行っているチュートリアルには、次のプログラムがありました

# This program calculates the Fibonacci sequence
a = 0
b = 1
count = 0
max_count = 20
while count < max_count:
    count = count + 1
    old_a = a    # we need to keep track of a since we change it
    print(old_a,end=" ")   # Notice the magic end=" " in the print function arguments that
                           # keeps it from creating a new line
    a = b
    b = old_a + b
print() # gets a new (empty) line

コードは完璧です。ただし、シーケンスの計算方法を理解できません。シーケンスを作成するために値をどのように変更しますか?

4

2 に答える 2

0

このコードは正常に動作します:

a, b = 0, 1
for _ in range(20):
        print a
        a, b = b, a+b
于 2013-03-25T10:01:09.467 に答える
0

その余分なコードをすべて削除すると、より理にかなっています。

while count < max_count:
    old_a = a
    a = b
    b = old_a + b

old_aおそらくあなたを混乱させます。これを書くのは長い道のりです:

a, b = b, a + b

どちらがと (同時に) とスワップaします。それは書くことと同じではないことに注意してください:bba + b

a = b
b = a + b

を再定義するbまでに、 はaすでに に等しい新しい値を保持しているためbです。

また、コードを紙に書き出して手動で実行することもありました。

于 2013-03-25T09:53:08.597 に答える