一、遞迴函式
不應該無限次的呼叫函式,應該滿足某種條件來結束。
#view code遞迴函式的應用
n=0while n<10:
(n) n+=1
#運用遞迴實現
deff1(n):
if n==10:
return
#結束遞迴
(n) n+=1f1(n)
特點:回溯
遞迴二、應用
1view code#運用遞迴遍歷列表中的值
2 l=[1,[2,[3,4,[4,[5,[6,[22,[7,8]]]]]]]]
3def
f1(list1):
4for x in
list1:
5if type(x) is
list:
6f1(x)
7else:8
(x)9
10 f1(l)
經典應用:二分法
#view code函式的呼叫——二分法
nums=[-3,1,2,3,5,6,6,10,34,56,77,87]
find_num=10
defsearch(find_num,l):
(l) mid_index=len(l)//2 #
拿到中間元素的索引
mid_val=l[mid_index]
if find_num>mid_val:
l=l[mid_index+1:]
search(find_num,l)
elif find_num
l=l[:mid_index]
search(find_num,l)
else
:
print('
find it')
search(10,nums)
遞迴的應用
遞迴是指函式 過程 子程式在執行過程中直接或間接的呼叫自身而產生的重入現象。在定義乙個過程或函式時出現呼叫本過程或本函式的成分,稱為遞迴。若呼叫自身,稱為直接遞迴。若過程 或函式p呼叫過程或函式q,而q又呼叫p,稱為間接遞迴。在以下三種情況下,需要用到遞迴的方法。1.定義是遞迴的 有些數學公式 數列...
練習二十七 遞迴函式應用
問題 需要利用遞迴函式呼叫得方式,將獲取到得輸入字元,以相反順序分別輸出出來 1 def factorial s,l 2if l 0 如果長度為0,直接返回就好了 3return 4print n l 1 end 第一次列印出最後乙個數,後續將列印l n,直到l 0後,直接返回 5return fa...
遞迴之遞迴的函式
遞迴的函式 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或...