知识点

我们都知道兔子繁殖能力是惊人的,如下图:

零基础入门学习Python(23)--递归:这帮小兔崽子-LMLPHP

我们可以用数学函数来定义:

零基础入门学习Python(23)--递归:这帮小兔崽子-LMLPHP

假设我们需要求出经历了20个月后,总共有多少对小兔崽子?

  • 迭代实现

def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误!')
return -1
while (n - 2) > 0:
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3 result = fab(20)
if result != -1:
print('总共有%d对小兔崽子' % result) >>>
================= RESTART: C:\Users\ThinkPad\Desktop\test.py =================
总共有6765对小兔崽子
>>>
  • 递归实现

零基础入门学习Python(23)--递归:这帮小兔崽子-LMLPHP

def fab(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n ==2:
return 1
else:
return fab(n-1) + fab(n-2)
result = fab(20)
if result != -1:
print('总共有%d对小兔崽子!' % result) ================= RESTART: C:\Users\ThinkPad\Desktop\test.py =================
总共有6765对小兔崽子!
05-06 08:35