python實現斐波那契數列

2021-09-26 09:47:52 字數 1739 閱讀 1858

方法二:構造遞迴函式def recur_fibo(n)

斐波那契數列指的是這樣乙個數列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項是0,第1項是第乙個1。從第三項開始,每一項都等於前兩項之和。

核心**:

fibo =[0

,1]for ii in

range(2

,times):2

]+fibo[ii-1]

)

加入了錯誤異常處理的**如下:

fibo =[0

,1]while

true

:try

: times =

int(

input

("請輸入斐波那契數列的長度:"))

if times ==1:

print

(fibo[0:

1])break

elif times >=2:

for ii in

range(2

,times):2

]+fibo[ii-1]

)print

(fibo)

break

else

:print

("輸入的數字有錯誤,請輸入大於等於2的數字:"

)continue

except valueerror:

print

("請輸入數字"

)continue

效果如下:

請輸入斐波那契數列的長度:abc

請輸入數字

請輸入斐波那契數列的長度:-

8輸入的數字有錯誤,請輸入大於等於2的數字:

請輸入斐波那契數列的長度:0

輸入的數字有錯誤,請輸入大於等於2的數字:

請輸入斐波那契數列的長度:10[0

,1,1

,2,3

,5,8

,13,21

,34]process finished with exit code 0

核心**:

def

recur_fibo

(n):

if n<=1:

return n

elif n>=2:

return

(recur_fibo(n-2)

+ recur_fibo(n-

1)

完整**如下:

def

recur_fibo

(n):

if n==0:

return

0elif n==1:

return

1else

:return

(recur_fibo(n-1)

+ recur_fibo(n-2)

)n =

int(

input

("請輸入斐波那契數列的長度:"))

for ii in

range(0

,n):

print

(recur_fibo(ii)

)

執行效果如下:

請輸入斐波那契數列的長度:1001

1235

8132134

process finished with exit code 0

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

斐波那契數列 python 實現

什麼?找規律找的不錯!其實我想說的是 斐波拉契數列!斐波那契數列 兔子數列.jpg 自從學python,我已經拋棄了計算器。why?因為python比計算器來的快啊!今天要說的斐波那契數列也是,python生成遠比書寫加計算來的快!如果你也想擁有這項牛 zhuang 逼 bi 技能,趕快和我一起學p...

python實現斐波那契數列

1.遞迴方式 寫法最簡潔,但是效率最低,會出現大量的重複計算,時間複雜度o 1.618 n 而且最深度1000 def fib sequence num if num 1or num 2 return 1else return fib sequence num 2 fib sequence num ...