0
我試圖讓下面的代碼斐波那契序列:斐波那契序列乘以
def fibonacci(n): # write Fibonacci series up to n
"""Print a Fibonacci series up to n."""
a = 0
b = 1
the_list = []
while n > len(the_list):
the_list.append(a)
#By saying a = b and b = a+b we define the
#fibonacci sequence, since this is how the
#fibonacci sequence works.
a = b
b = a+b
print the_list
# Now call the function we just defined:
fibonacci(10)
據我知道這個代碼應該這樣做,但不是給我的斐波那契序列的給下面的輸出:
[0, 1, 2, 4, 8, 16, 32, 64, 128, 256]
所以我斐波那契數列是乘法而不是正確的工作。我不知道爲什麼,因爲我想
a = b
b = a+b
應該做的伎倆,如果我看我while循環這個循環中的語句也是正確的,所以我只是不明白,爲什麼我沒有得到正確的輸出。
因此,如果有人可以解釋我爲什麼這個代碼不工作這將是非常appriciated
想想每次迭代時發生了什麼。 'a'正被分配'b'的值,然後'b'被設置爲'a' +'b'。從'b = 1'的迭代開始,您將首先設置'a = 1',然後設置'b = a + b = 1 + 1 = 2'。 – 2014-10-02 23:09:14