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

python

知识点

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

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

假设我们需要求出经历了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对小兔崽子

>>>

  • 递归实现

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对小兔崽子!

以上是 零基础入门学习Python(23)--递归:这帮小兔崽子 的全部内容, 来源链接: utcz.com/z/389148.html

回到顶部