Python函式之遞迴(用遞迴實現二分查詢)

2021-09-03 02:09:55 字數 936 閱讀 4402

遞迴:簡單來說就是引用(或者呼叫)自身的意思。

#階乘

def factorical(n):

result=n

for i in range(1,n):

result *=i

return result

print(factorical(12))

輸出:479001600

**實現二分查詢法:

#實現二分查詢法

def search(sequence, number, lower=0, upper=none):

if upper is none: upper = len(sequence) - 1 #如果不加這兩句會出現『typeerror: search() missing 2 required positional arguments: 'lower' and 'upper'』,這種錯誤

if lower == upper:

assert number == sequence[upper]

return upper

else:

middle = (lower + upper) // 2

if number > sequence[middle]:

return search(sequence, number, middle + 1, upper)

else:

return search(sequence, number, lower, middle)

seq = [34, 67, 8, 123, 4, 100, 95]

seq.sort()

print(seq)

print(search(seq, 34))

輸出:[4, 8, 34, 67, 95, 100, 123]

2

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 遞迴的出口很重要,否則會出現死迴圈 遞迴案例 計算數字累加 需求 定...

python函式之遞迴

1.程式語言中,函式func type a,直接或間接呼叫函式本身,則該函式稱為遞迴函式。2.在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某乙個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。3.一種計算過程,如果其中每一步...