這是一個非常簡單的腳本,但是當您用任何數字調用函數時,結果都是錯誤的。簡單的斐波那契數列在Python中不輸出正確的答案
def fib(n):
a=0
b=1
while a < n:
a, b = b, a+b
print(a)
fib(10)= 13.哪一個錯誤。
這是一個非常簡單的腳本,但是當您用任何數字調用函數時,結果都是錯誤的。簡單的斐波那契數列在Python中不輸出正確的答案
def fib(n):
a=0
b=1
while a < n:
a, b = b, a+b
print(a)
fib(10)= 13.哪一個錯誤。
def fib(n):
a=0
b=1
i=1
while i < n:
a, b = b, a+b
i+=1
print(b)
試試這個^^
你不能使用,因爲沒有上升的直線,它是上升根據您當前的斐波那契數計算的狀態...所以你需要一個額外的櫃檯採取什麼step
謝謝。我仍然不明白爲什麼我的代碼不起作用。 – 2014-08-27 08:51:38
當你做fibonacci序列,你給我們說10,你必須在你的計算上迭代10次才能得到正確的值......但是你用a作爲你的步進器,但實際上a是像0,1,1那樣上升,2,3,5,8,13,因爲它在你的計算中使用...... a基於斐波那契數列上升,而不是基於你需要採取的步驟,那就是問題:)你只需要需要一個額外的變量來計算你的步數(因爲你需要10個) – Soulan 2014-08-27 08:54:12
請考慮在range(n)中使用for循環,而不是手動增加'i'。 – Vincent 2014-08-27 08:55:37
函數返回斐波那契數列中第一個大於或等於n的值。 – Vincent 2014-08-27 08:53:50