题目:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:
这个问题就是之前博文(https://blog.csdn.net/sevensolo/article/details/87460804)里的斐波那契数列
· 我们先用递归解题
· 然后使用input函数设置月份
·
递归函数
def rabbit(month):
if month <= 2:
return 2
else:
return rabbit(month - 1) + rabbit(month - 2)
print(rabbit(8))
通过代码我们得知第8个月兔子数是42个
42
如果我们想自己输入月份查看兔子数量了
def rabbit(month):
if month < 0:
print("输入错误,请重新输入")
elif month <= 2:
return 1
else:
rabbitsum = rabbit(month - 1) + rabbit(month - 2)
return rabbitsum
month = int(input("请输入月份:"))
rabbitsum = rabbit(month)
print("第%d个月兔子总数为:%对" % (month, rabbitsum))