Python練習題 007:兔子生兔子


【Python練習題 007】 有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

-------------------------------------------------------------------

這題反正我自己是算不出來。后來搜索了網上,說是經典的“斐波納契數列”。於是我自己排畫了一下(如下圖,小寫表示小兔子,大寫表示大兔子):

a

a

A b

A b c

A B c d e

A B C d e f g h

A B C D E f g h i j k l m

……

數一數,可不就是 1, 1, 2, 3, 5, 8, 13 的規律(從第3個數字開始,每個數字都是前2個數字之和)嗎?好吧,這兔子我真是數不清楚,但生成“斐波納契數列”我還是會的。代碼如下:

a, b = 0, 1
for i in range(1, 13):
    print('第%s個月:%s只兔子' % (i,b))
    a, b = b, a+b

就這4行代碼,就能生成 12 個月的兔子數量。基本邏輯是:a、b 初始化值為 0、1,從 b 開始打印,之后把 b 賦值給 a、把 a+b 賦值給 b(表示后一個數字是前2個數字之和)。輸出結果如下:

第1個月:1只兔子
第2個月:1只兔子
第3個月:2只兔子
第4個月:3只兔子
第5個月:5只兔子
第6個月:8只兔子
第7個月:13只兔子
第8個月:21只兔子
第9個月:34只兔子
第10個月:55只兔子
第11個月:89只兔子
第12個月:144只兔子

 

++++++++++++++++++++++++++++++++++++++

題目出處:編程語言入門經典100例【Python版】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM