python遞歸函數

2019-10-30     科技i關注

函數就像一個盒子,將相關的一些功能打包成一個函數,以供調用。函數內部可以調用其他函數,也可以調用這個函數自身。

如果一個函數在內部調用函數自身,那麼這個就是遞歸函數。

我們舉一個簡單的例子。

數學中我們知道100的階乘,100!=1009998...321.

分解開來,100!=10099!,99!=9998!,98!=98*97!...

那麼我們定義一個函數來計算階乘:def fact(n):

return n*fact(n-1)

上面這個函數看起來是一個數字不斷地跟與它小1的數相乘,卻沒有停止的時候。所以我們必須對上述函數進行改造,讓它能在n=1的時候,計算完就停下來。

def fact(n):

if n==0:

return 1

else:

return n*fact(n-1)

遞歸函數也可以用循環的方式實現。但是遞歸函數邏輯較為簡單。但是在使用遞歸函數的時候,要注意防止遞歸函數調用過多導致棧溢出。

更多技巧請《轉發 + 關注》哦!

文章來源: https://twgreatdaily.com/zh-tw/0R-oGm4BMH2_cNUgBa-Z.html