python 遞迴函式

2022-04-02 06:03:21 字數 1394 閱讀 7997

定義:自己呼叫自己的函式

一般規律: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 必須有乙個明確的結束條...