实例011:养兔子


题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

分析:出生下来为第0个月,满月为1月兔,满2个月为2月兔,满3个月为3月兔,满3个月即为成年兔子。

可以推前几个月的兔子月份及数量情况:

实例011:养兔子 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?_python基础

 

# 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

month = int(input('繁殖几个月?: '))
# 初始化兔子数量 0月时
month_0 = 1
month_1 = 0
month_2 = 0
month_elder = 0 # 满3个月即为成年兔子可生小兔子
for i in range(month):
month_0, month_1, month_2, month_elder = month_elder + month_2, month_0, month_1, month_elder + month_2
print('第%d个月共' % (i + 1), month_0 + month_1 + month_2 + month_elder, '对兔子')
print('其中0月兔:', month_0)
print('其中1月兔:', month_1)
print('其中2月兔:', month_2)
print('其中成年兔:', month_elder)
繁殖几个月?: 6
第1个月共 1 对兔子
其中0月兔: 0
其中1月兔: 1
其中2月兔: 0
其中成年兔: 0
第2个月共 1 对兔子
其中0月兔: 0
其中1月兔: 0
其中2月兔: 1
其中成年兔: 0
第3个月共 2 对兔子
其中0月兔: 1
其中1月兔: 0
其中2月兔: 0
其中成年兔: 1
第4个月共 3 对兔子
其中0月兔: 1
其中1月兔: 1
其中2月兔: 0
其中成年兔: 1
第5个月共 4 对兔子
其中0月兔: 1
其中1月兔: 1
其中2月兔: 1
其中成年兔: 1
第6个月共 6 对兔子
其中0月兔: 2
其中1月兔: 1
其中2月兔: 1
其中成年兔: 2

Process finished with exit code 0