更新時(shí)間:2021-01-18 來源:黑馬程序員 瀏覽量:
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”。斐波那契數(shù)列指的是這樣一個(gè)數(shù)列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項(xiàng)是0,第1項(xiàng)是第一個(gè)1。從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。
下面介紹兩種通過python實(shí)現(xiàn)斐波那契數(shù)列的方法。
1、遞歸法:
def fs(n): assert n >= 0, "n > 0" if n <= 1: return n return fs(n-1)+fs(n-2) # 獲得斐波那契數(shù)列,項(xiàng)數(shù)20 for i in range(1, 20): print(fs(i), end=' ')
2、遞推法
# 第一種寫法 def fs_loop_for(n): a, b = 0, 1 for _ in range(n): a, b = b, a + b return a # 獲得斐波那契數(shù)列,項(xiàng)數(shù)20 for i in range(20): print(fs_loop_for(i), end=' ') # 第二種寫法 def fs_loop_while(n): a, b = 0, 1 while n > 0: a, b = b, a + b n -= 1 return a # 獲得斐波那契數(shù)列,項(xiàng)數(shù)20 for i in range(20): print(fs_loop_while(i), end=' ')
運(yùn)行結(jié)果:
猜你喜歡:
Python隨機(jī)數(shù)函數(shù)詳細(xì)介紹
【Python面經(jīng)題】爬蟲數(shù)據(jù)為什么選擇Mongodb存儲(chǔ)?
2021-01-18什么是Python模塊?Python模塊分為幾類?
2021-01-18Python常見語(yǔ)法問題和異常概述
2021-01-18計(jì)算機(jī)的進(jìn)程是什么?進(jìn)程組成部分內(nèi)容介紹
2021-01-08Python語(yǔ)言的關(guān)鍵字有哪些特點(diǎn)?關(guān)鍵字列舉
2021-01-07Python中有幾種數(shù)據(jù)類型?數(shù)據(jù)類型簡(jiǎn)單介紹
2021-01-07