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


day6

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

實例011:養兔子

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

 有點復雜,先分析下,寫出來幾種情況,把每個兔子的狀態標注下,慢慢的發現了規律,成熟的兔子和小兔子一樣多,中兔子與上一個的小兔子一樣多,大兔子同理,而成熟的兔子等於上月的成熟兔+大兔子,再調整下順序輸出就可以了,哈哈哈

 1 import copy
 2               
 3 # 3個月  1成熟  0大  0中  1小
 4 # 4個月  1成熟  0大  1中  1小
 5 # 5個月  1成熟  1大  1中  1小
 6 # 6個月  2成熟  1大  1中  2小
 7 # 7個月  3成熟  1大  2中  3小
 8 # 8個月  4成熟  2大  3中  4小
 9 # 9個月  6成熟  3大  4中  6小
10 list = [1,0,0,0]
11 list1 = [0,0,0,0]
12 sum1 = 0
13 x = int(input("請輸入月份:"))
14 for i in range(x+1):
15     if i <3:
16         sum1 = 1
17     else:
18         list1[2] = list[3]
19         list1[1] = list[2]
20         list1[0] = list[1] + list[0]
21         list1[3] = list1[0]
22         list = copy.copy(list1)
23         print("list1:",list1)
24         sum1 = sum(list1)
25 print("兔子總數為:",sum1)

 再看看正確答案,第7行看了半天才看懂,就是把我的簡化了下,看了下解析,其實這個數列是斐波那契數列:0,1,1,2,3,5,8,13,21。。。尷尬

1 month=int(input('繁殖幾個月?: '))
2 month_1=1
3 month_2=0
4 month_3=0
5 month_elder=0
6 for i in range(month):
7     month_1,month_2,month_3,month_elder=month_elder+month_3,month_1,month_2,month_elder+month_3
8     print('第%d個月共'%(i+1),month_1+month_2+month_3+month_elder,'對兔子')

 


免責聲明!

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



猜您在找 有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? 古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? 古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? # 【Python3練習題 007】 有一對兔子,從出生后第3個月起每個月都生一對兔子, # 小兔子長到第三個月后每個月又生一對兔子, # 假如兔子都不死,問每個月的兔子總數為多少? 有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問第n個月的兔子對數為多少? 古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?(python語言) 關於“古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子……” 理清問題,無往而不勝 論開學第三個月干了點啥 一個問題的解法(兔子三個月之后每月都生兔子的問題) 有一對幼兔,幼兔1個月后長成小兔,小兔1個月后長成成兔並生下一對幼兔,問幾月后有多少對兔子,幼兔、小兔、成兔對數分別是多少。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM