目錄
1.遞迴函式的準備知識:
2.遞迴函式的定義
3.在使用遞迴時,需要注意以下幾點
(1).自己呼叫自己
(2).必須有乙個明確的遞迴結束條件,稱為遞迴出口
4.遞迴函式的小練習
(1)使用遞迴函式向控制台列印 3,2,1
**:分析:
(2)1到10的階乘:1*2*3...........*10
**:分析:
(3)查詢數字,通過程式查詢輸入的number值
1,2,3,4,5,6,7,8,9,10
思路:使用二分查詢法
**:分析:
def func1():
print('func1...')
def func2():
print('func2....start')
func1()
print('func2...end')
def func3():
print('func3...start')
func2()
print('func3..end')
func3()
# func3...start
# func2....start
# func1...
# func2...end
# func3..end
如果乙個函式
在內部呼叫自身本身
,這個函式就是遞迴函式。
# 練習一:使用遞迴函式向控制台列印3,2,1
def print_num(num):
print(num)
if num == 1:
return
num = num - 1
print_num(num) # 呼叫自己
# 練習二:1到10的階乘1*2*3*4......*10
先找中間值:中間值=(開始值+結束值)//2
如果要找的數比中間值大,到後一半找
如果要找的數比中間值小,就到前一半找
# 練習三:查詢數字:通過程式查詢輸入的number值
# 1,2,3,4,5,6,7,8,9,10
# 二分查詢法
def search_num(number, start, end):
if number == start:
return start
elif number == end:
return end
else:
# 獲得中間值
二分查詢法 遞迴
查詢關鍵字元 二分 折半 查詢法 縮小區域 前題 查詢序列是有序 降 公升序 二分查詢法思想 公升序 1 每次取序列中間元素進行比較 2 如果key mid,說明查詢值在中間元素的右側,如果key程式實現 include void findkey const int buf,int left,int...
python之遞迴函式,二分查詢
遞迴函式一直都是我們所覺得難理解的以一種方式,但其實,也很好理解的,遞迴函式就是自己呼叫自己。就是在重複的做同一件事情。只是有的時候,也最好不要使用遞迴函式,因為你的函式一旦呼叫,就要開闢新的記憶體空間。不利於程式的執行。python對你記憶體乙個保護機制,預設只能遞迴到998層。來看個例子吧。這個...
python遞迴查詢 python 遞迴,二分查詢
print list 胡辣湯 lst 河南話 四川話 東北 山東 上海 r reversed lst print list r huiwen 不是上海自來水來自海上 s huiwen 1 it reversed huiwen 返回的是迭代器 s for el in it s el print s l...