遞歸函數是程式設計技術之一,這表示你的程式包含你自己呼叫的函數。與迭代函數一樣,在多次執行類似處理時可以使用遞歸函數,但遞歸函數可以透過用簡單的程式碼取代它們來處理更複雜的問題。本篇文章我們就來看看python中遞歸函數的創建。
遞迴函數用於下列情況。
1、資料處理
在對多個資料進行排序或執行重複處理時,根據資料結構可以使用遞歸函數。
2、可以解決一些複雜的演算法問題
一個常見的例子是「漢諾塔」的問題。根據某個規則,對於每次更改狀態的處理,使用遞歸函數可以以簡單的問題替換並處理它
3、語法分析(自然語言處理)
在自然語言處理中,可以使用遞歸函數來執行將句子分解為單字的處理。
如何在python中建立遞歸函數?
Python允許使用者使用自訂的函數建立遞歸函數。
def myfunc(x): if 结束条件: return x // 进行什么样的处理 myfunc(x)
要注意的要點如下。
一定要設定結束條件。如果沒有結束條件,將永久進行遞歸調用,處理不會結束。
在進行遞歸呼叫時,我們要注意參數。如果此處的條件保持不變,則無法正確判斷結束條件
如果你覺得程式的內容很複雜,那麼讓我們考慮是否可以使用除遞歸函數之外的函數來實現它。
我們來看一個具體的範例
在此範例程式中,用遞迴函數和不用遞迴函數兩種方式確認傳回整數1到n之和。
首先是不用遞迴函數
程式碼如下
def sum(n): ret = 0 for i in range(1, n + 1): ret += i return ret s = sum(100) print(s)
執行結果:5050
以下是使用遞迴函數的情況
程式碼如下
def sum(n): if n < 1: return n return n + sum(n-1) s = sum(100) print(s)
執行結果:5050
總結,以上就是這篇文章的全部內容,更多精彩內容大家可以關注php中文網的其他相關教學! ! !
以上是python中遞歸函數如何創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!