一、初識遞迴
遞迴的定義:在乙個函式裡在呼叫這個函式本身
遞迴的最大深度--- 997 1
deffunc(n):
2print
(n)
3 n += 1 4
func(n)
5 func(1)
修改預設值 1
import
sys
2print(sys.setrecursionlimit(100000))
二、遞迴例項
alex老師多大了?我說我不告訴你,但alex比 egon 大兩歲。
你想知道alex多大,你是不是還得去問egon?egon說,我也不告訴你,但我比武sir大兩歲。
你又問武sir,武sir也不告訴你,他說他比金鑫大兩歲。
那你問金鑫,金鑫告訴你,他40了。。。
這個時候你是不是就知道了?alex多大?
1三、二分查詢法defage(n):
2if n == 1:
3return 40
4else:5
return age(n-1)+267
print(age(4))
# 查詢演算法# l = [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]
# 從有序的列表中查詢值66的位置
# 方法一: 迴圈 # 5000000 4999999
# 方法二: l.index(66) #最正確的方法
# 方法三: 遞迴
1view codedef find(l,aim,start=0,end=none):
2if end == none:end = len(l)-1
3if start <=end:
4 mid = (end - start) // 2 +start
5if l[mid] >aim:
6return find(l,aim,start=start,end = mid-1)
7elif l[mid]
8return find(l,aim,start=mid+1,end=end)
9elif l[mid] ==aim:
10return
mid11
else:12
return
none
13 l = [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]
14print('
ret :
',find(l,18))
python函式之遞迴函式
在計算機程式設計裡,遞迴指的是乙個過程 函式不斷引用自身,直到引用的物件已知。1 自己呼叫自己 2 必須有乙個明確的結束條件 優點 缺點 計算n的階乘 def factorial n if n 1 return 1 fac n factorial n 1 return fac n 5print 的階...
Python之遞迴函式
如果乙個函式在函式內部呼叫函式本身,那麼這個函式就是遞迴函式。例如用遞迴函式計算階乘。deffact n if n 1 return 1.return n fact n 1 fact 1 1 fact 7 5040 fact 999 traceback most recent call last f...
python之函式遞迴
函式的遞迴 函式呼叫自身的程式設計技巧稱為遞迴 遞迴函式的特點 特點 特點 函式內部的 是相同的,只是針對引數不同,處理的結果不同當引數滿足乙個條件時,函式不再執行 示例 def sum numbers num print num 遞迴的出口很重要,否則會出現死迴圈 遞迴案例 計算數字累加 需求 定...