定義:自己呼叫自己的函式
一般規律:if語句,return
優點:**簡介
缺點:占用記憶體
#階乘def
sb(n):
if n == 1:
return 1
else
:
return n*sb(n-1)
print(sb(4))
#斐波那契數列 f(1)=1,f(2)=1, f(n)=f(n-1)+f(n-2)(n>=3,n∈n*)
#1、1、2、3、5、8、13、21、34、……
defsb(n):
if n == 1 or n == 2:
return 1
elif n >= 3:
return sb(n-1) + sb(n-2)
ret = sb(9)
print(ret)
#二分法查詢
#li = [2, 3, 5, 10, 15, 16, 18, 22, 26, 30, 32, 35, 41, 42, 43, 55, 56, 66, 67, 69, 72, 76, 82, 83, 88]
def sb(_list, _value, _start=0, _end=none):
_end = len(_list) if _end is none else
_end
if _end <=_start:
mid = _start + (_end - _start) // 2
if _list[mid] >_value:
return sb(_list, _value, _start=_start, _end=mid-1)
elif _list[mid] <_value:
return sb(_list, _value, _start=mid+1, _end=_end)
else
:
return
mid
else
:
return
'沒有此值
'li = [2, 3, 5, 10, 15, 16, 18, 22, 26, 30, 32, 35, 41, 42, 43, 55, 56, 66, 67, 69, 72, 76, 82, 83, 88]
print(sb(li, 33))
ps:遞迴深度不超過1000(998或997)
#修改遞迴深度
import
syssys.setrecursionlimit(1000) #
這只是理論的遞迴深度,實際的和電腦的效能有關
python遞迴函式例項 python遞迴函式
python遞迴函式 什麼是遞迴?遞迴,就是在函式執行中自己呼叫自己 示例 def recursion n 定義遞迴函式 print n 列印n recursion n 1 在函式的執行種呼叫遞迴 recursion 1 呼叫函式 這個函式在不斷的自己呼叫自己,每次呼叫n 1,看下執行結果 998t...
python靜態遞迴函式 python遞迴函式
一 遞迴的定義 1.什麼是遞迴 在乙個函式裡在呼叫這個函式本身 2.最大遞迴層數做了乙個限制 997,但是也可以自己限制 1 deffoo 2 print n 3 n 1 4 foo n 5 foo 1 驗證997 3.最大層數限制是python預設的,可以做修改,但是不建議你修改。因為如果用997...
python靜態遞迴函式 python 遞迴函式
前言 本篇關於遞迴基本借鑑下面部落格講解加入自己理解。1.遞迴函式定義 如果乙個函式在函式內部呼叫自己,那這個函式就是遞迴函式。如 defsum arg,stop print arg if arg arg arg sum arg,stop sum 1,20 2.遞迴的特性 1 必須有乙個明確的結束條...