用python 寫斐波拉切數列
阿新 • • 發佈:2018-12-18
如何用python 函式寫一個斐波拉切數列
首先得明白什麼是斐波拉切數列
指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)
# 斐波拉切演算法 def fb(n): # 定義一個斐波拉切函式 if n==1: # 判斷如果 n等於1,返回值為0 return 0 if n==2: # 判斷如果 n等於2,返回值為1 return 1 if n > 2: # 判斷如果 n大於2,返回值為遞迴函式 return fb(n-1)+fb(n-2)\ def printfablist(n): for i in range(1,n+1): print (fb(i),end= " ") printfablist(10) ... 這個程式碼可能有點難理解
下面來個比較好理解的
str = input("數字:") def fib(str): # 定義斐波拉切函式 intstr=int(str) # 強制轉換為整型 alist=list(range(intstr)) # 定義一個變數,變數為range(intstr) for i in alist: if i==0 or i ==1 : alist[i] = 1 else: alist[i]=alist[i-1]+alist[i-2] print(alist) return alist[-1] print(fib(str))