python遞歸函數


遞歸函數的優點是定義簡單,邏輯清晰。理論上,所有的遞歸函數都可以寫成循環的方式,但循環的邏輯不如遞歸清晰。

簡單舉例遞歸函數:

 1 def dg(number):
 2     if number/2 > 1:
 3         print(number/2)
 4         dg(number/2)
 5 dg(10)
 6 
 7 
 8 5.0
 9 2.5
10 1.25

 

斐波那契數列:第三位是前兩位的相加

 1 def func(arg1, arg2,stop):
 2     if arg1 == 0:
 3         print(arg1, arg2)
 4     arg3 = arg1 + arg2
 5     print(arg3)
 6     if arg3 > stop :
 7         return "bingo"
 8     func(arg2, arg3,stop)
 9 
10 func(0, 1,300)
11 
12 
13 0 1
14 1
15 2
16 3
17 5
18 8
19 13
20 21
21 34
22 55
23 89
24 144
25 233
26 377

 

遞歸函數常用於檢索大量數據,比如檢索一個擁有300萬個數的列表,從中查找某個數是否存在,如果用for遍歷,會嚴重占用計算機計算能力,那么我們可以通過遞歸函數來減少搜索量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM