1. 程式人生 > 其它 >python百鍊成鋼例項006-斐波那契數列-輸出最後一個和整個數列,迭代

python百鍊成鋼例項006-斐波那契數列-輸出最後一個和整個數列,迭代

題目:斐波那契數列。

程式分析:斐波那契數列(Fibonacci sequence),又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……。

在數學上,費波那契數列是以遞迴的方法來定義:

F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ F[n-2](n=>2)

程式

# 方法1,輸入數列,從0個值一直疊加到最後一個值,數列輸出
def fib_seq(n):
    fib_seq = []
    i = 0
    while i <= n:
        if i == 0:
            fib_seq = [0]
            i 
+= 1 elif i == 1: fib_seq.append(1) i += 1 else: fib_seq.append(fib_seq[i - 1] + fib_seq[i - 2]) i += 1 return fib_seq fib_seq = fib_seq(10) print(fib_seq) # 方法2# 方法內部呼叫方法,輸出最後一個值,直接函式內部迭代 def fib_seq_num(n): if n == 0:
return 0 elif n == 1 or n == 2: return 1 else: return fib_seq_num(n - 1) + fib_seq_num(n - 2) fib_seq_num1 = fib_seq_num(10) print(fib_seq_num1)