1. 程式人生 > >《零基礎入門學習Python》(23)--遞迴:這幫小兔崽子

《零基礎入門學習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)

這章沒有習題