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)
以上就是小編今天的分享,希望可以幫助到大家。