python练习100例
练习2 兔子产子
一、问题描述
有一对兔子,从出生后的第二个月起每个月都生一对兔子。兔子长到一个月后每个月又生出一对兔子,假设所有的兔子都不死。
问30个月内每个月的兔子总对数是多少?
二、问题分析
根据题目分析,可以得到前十个月的兔子数为:
1,1,2,3,5,8,13,21,34,55
总结规律我们可以知道,每个月的兔子数等于前前个月的兔子数加上前一月的兔子数
这是为什么呢?
因为前一个月的兔子数为现存的兔子数,前前个月的兔子数为可生育的兔子数,两者相加得到的便是单月的兔子数
三、代码示例
代码如下(示例):
if __name__=="__main__":
rabbit1=0 #前前个月兔子数(一开始设第0个月兔子对数为0)
rabbit2=1 #前一个月兔子数(一开始设第1个月兔子对数为1)
temp=0 #临时变量
print(f"第1个月兔子数:{rabbit2}")
for i in range(29):
temp=rabbit2
rabbit2=rabbit1+rabbit2
rabbit1=temp
print(f"第{i+2}个月兔子数:{rabbit2}")
运行效果: