2016-07-14 40 views
1

我有興趣找到一種方法來創建一個變量來獲取一個值並將其存儲在另一個變量中,然後獲得一個新值。
一個非常實用的例子是斐波那契數列。
我通過可用的Python代碼合理地搜索這個序列。
有噸,通常我的基本把握太神祕了。Python:使用範圍(x,y,n)的斐波那契數列

我想出了這個。簡單和應該做的工作:

a = 1 
b = 0 
print (b) 
for i in range(0,100): 
c = b 
b = a 
a = c + b 
print(a) 

最後,循環應打印通過可變一個值,如:
0,1,2,3,5,8,13,21 ,34,55,89

但是那個怪胎我一路走到100^10。
作爲該代碼的最終輸出是:
0,1,2,3,5,8,13,21,34,55,89,144,233,377,... 573147844013817084101

會有人解釋什麼是發生?

+0

改變for循環while循環你得到100個值,則'for'你必須將計算100次 –

+2

這是因爲循環完成了你要求的操作:打印第一個_i_ Fibonnaci數字,最多爲_i_ 100.對於記錄,第100個Fibonnaci是354224848179261915075. –

+1

好的。我將增量設置爲10,然後將數值分開。但我現在比以前有更多的問題。 – randomhopeful

回答

5

您通過線運行

c = b 
b = a 
a = c + b 
print(a) 

100倍。所以你會得到前100個斐波納契數字。

如果你想打印Fibonacci數多達100個,這樣

while (a < 100): 
    c = b 
    b = a 
    a = c + b 
    print(a) 
+1

謝謝。我應該使用這個迭代。第一個評論指出我增加了一個增量:因爲我在範圍內(0,100,10) – randomhopeful