python中遞迴函式

來源:互聯網
上載者:User

標籤:python 遞迴 演算法 函數 階乘

遞迴函式即直接或間接地調用自身以進行迴圈的函數


def mySum(L):    if not L:        return 0    else:        return L[0]+mySum(L[1:])print mySum([1,2,3,4,5])

這個函數用遞迴的方法計算資料行表所有元素的和

在每一層,函數都遞迴的調用自己來計算資料行表剩餘的值的和。


還有一個遞迴方法計算階乘:


def factorial(n):    if n==0 or n==1:        return 1    else:        return factorial(n-1) * nprint (factorial(5))120



遞迴函式也可以用於計算Fibonacci數列

def recur_fibo(n):   """遞迴函式   輸出斐波那契數列"""   if n <= 1:       return n      else:       return(recur_fibo(n-1) + recur_fibo(n-2))


有一個問題跟fibonacci數列很像, 只是初始的兩個數情況不同

假設一個樓梯有 N 階台階,人每次最多可以跨 2 階,求總共的爬樓梯方案數,用遞迴實現如下:

def DP(n):        if n <= 2:        return n    else:        return DP(n-1) + DP(n-2)print DP(5)


遞迴就介紹到這裡。


python中遞迴函式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.