python百鍊成鋼例項006-斐波那契數列-輸出最後一個和整個數列,迭代
阿新 • • 發佈:2021-11-10
題目:斐波那契數列。
程式分析:斐波那契數列(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)