當前位置:成語大全網 - 新華字典 - python遞歸函數

python遞歸函數

python遞歸函數是什麽?壹起來看看吧:

遞歸函數就是在函數內部,可以調用其他函數。如果壹個函數在內部調用自身本身,這個函數就是遞歸函數。

舉個例子,我們來計算階乘 n! = 1 * 2 * 3 * ... * n,用函數 fact(n)表示,可以看出:

fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n

所以,fact(n)可以表示為 n * fact(n-1),只有n=1時需要特殊處理。

於是,fact(n)用遞歸的方式寫出來就是:

def?fact(n): if?n==1: return?1 return?n?*?fact(n?-?1)

函數內部的代碼是相同的,只是針對參數不同,處理的結果不同。當參數滿足壹個條件時,函數不再執行,通常被稱為遞歸的出口,否則會出現死循環。

例如:

def?sum_numbers(num): print(num) #遞歸的出口很重要,否則會出現死循環 if?num==1: ?return sum_numbers(num-1) sum_numbers(3)