定义
如果一个函数在内部调用自身本身,这个函数就是递归函数。
在使用递归时,需要注意以下几点:
(1)自己调用自己。
(2)必须有一个明确的递归结束条件,称为递归出口。
示例1:用递归函数打印3,2,1
def print_num(num):
print(num)
if num == 1:
return
print_num(num - 1)
print_num(3)
示例2:用递归函数计算1到10的阶乘,1*2*3*…*10
def func(n):
if n == 1:
return 1
return func(n - 1) * n
print(func(10)) # 3628800
示例3:用递归函数查找数字
def search(num, start, end):
if num == start:
return start
elif num == end:
return end
else:
middle = (start + end) // 2
if middle < num:
return search(num, middle, end)
elif middle == num:
return middle
else:
return search(num, start, middle)
print(search(43, 1, 200)) # 43