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

前言

我们接下来吧递归的用法再熟练一点,大家都知道斐波那契数列吧,以下我们以实际的兔子繁殖的例子来编写一个关于斐波那契数列的递归函数

知识点

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

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

  • 迭代实现
def fab(n):
    n1=1
    n2=1
    n3=1

    if n<1:
        print('输入有误  ')
        return -1
    if n==1 or n==2:
        return 1

    while (n-2)>0:
        n3=n2+n1
        n1=n2
        n2=n3
        n-=1
    return n3


result = fab(3)
if result != -1:
    print('总共有%d对小兔崽子诞生!' % result)
  • 递归实现

  • 函数实现
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)

这章没有习题

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_38721302/article/details/83106259