首頁 >後端開發 >Python教學 >python中遞歸函數如何創建

python中遞歸函數如何創建

不言
不言原創
2019-01-04 17:31:163028瀏覽

遞歸函數是程式設計技術之一,這表示你的程式包含你自己呼叫的函數。與迭代函數一樣,在多次執行類似處理時可以使用遞歸函數,但遞歸函數可以透過用簡單的程式碼取代它們來處理更複雜的問題。本篇文章我們就來看看python中遞歸函數的創建。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn