2014-08-27 76 views

回答

2
def fib(n): 
    a=0 
    b=1 
    i=1 
    while i < n: 
     a, b = b, a+b 
     i+=1 
    print(b) 

試試這個^^

你不能使用,因爲沒有上升的直線,它是上升根據您當前的斐波那契數計算的狀態...所以你需要一個額外的櫃檯採取什麼step

+0

謝謝。我仍然不明白爲什麼我的代碼不起作用。 – 2014-08-27 08:51:38

+1

當你做fibonacci序列,你給我們說10,你必須在你的計算上迭代10次才能得到正確的值......但是你用a作爲你的步進器,但實際上a是像0,1,1那樣上升,2,3,5,8,13,因爲它在你的計算中使用...... a基於斐波那契數列上升,而不是基於你需要採取的步驟,那就是問題:)你只需要需要一個額外的變量來計算你的步數(因爲你需要10個) – Soulan 2014-08-27 08:54:12

+0

請考慮在range(n)中使用for循環,而不是手動增加'i'。 – Vincent 2014-08-27 08:55:37