方法二:構造遞迴函式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 ...