用兔子生兔子来解释递归函数
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
def rab(month):
"""
用于实现递归函数,返回兔子总数,古典问题
:param month: 第几个月
:return: 兔子总数
"""
if month==1:
return 1
if month==2:
return 1
else:
count=rab(month-1)+rab(month-2)
return count
1、递归调用自己做运算
2、递归一定要有一个结束条件
3、递归使用不当将很快耗尽计算机资源
print(rab(1))
print(rab(2))
print(rab(3))
print(rab(4))
print(rab(5))
print(rab(6))