新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
Python中的遞歸
調用自身的函數(shù)是遞歸函數(shù)。當某個問題根據(jù)其本身來定義時,使用這種方法。雖然這涉及到迭代,但是使用迭代的方法來解決這樣的問題可能是乏味的。遞歸方法為一個看似復雜的問題提供了一個非常簡潔的解決方案。它看起來很迷人,但可能很難理解!

遞歸最常見的例子是階乘的計算。數(shù)學上階乘定義為:n!= n * (n-1)!
我們使用階乘本身來定義階乘。因此,這是編寫遞歸函數(shù)的合適情況。讓我們擴展上面的定義,計算階乘值 5。
5! = 5 X 4!
5 X4 X 3!
5 X4 X 3 X 2!
5 X4 X 3 X 2 X 1!
5 X4 X 3 X 2 X 1
= 120
雖然我們可以使用一個循環(huán)來執(zhí)行這個計算,但是它的遞歸函數(shù)涉及到通過遞減數(shù)字來連續(xù)調用它,直到它達到 1。下面是計算階乘的遞歸函數(shù)。
Example: Recursive Function
def factorial(n):
if n == 1:
print(n)
return 1
else:
print (n,'*', end=' ')
return n * factorial(n-1)
上面的遞歸函數(shù)可以如下調用。
>>> factorial(5)
5 * 4 * 3 * 2 * 1
120
當以 5 作為參數(shù)調用階乘函數(shù)時,會連續(xù)調用同一個函數(shù),同時減少 5 的值。在參數(shù)達到 1 后,函數(shù)開始返回到它們先前的調用。第一次調用的返回值是所有調用的返回值的累積乘積。*
當前題目:Python中的遞歸
網站地址:http://fisionsoft.com.cn/article/dpdiooj.html


咨詢
建站咨詢
