"""递归十以内相乘"""
def x(a):
if a == 10:
return 10
else:
return a * x(a + 1)
print(x(1)) # 3628800
"""
# 二分查找算法
#用递归函数找到某一个数据在整个列表里的下标
# 列表里数据的个数 没有限制
#排序需要有规律 要么从大到小 要么从小到大"""
# num:要找的数据 start:列表起始位置 end:列表结束位置
list1 = [12, 23, 45, 56, 78, 89, 94]
def func(list1, num, start, end):
if end >= start:
mid = (start + end) // 2
if num == list1[mid]:
return mid
elif num > list1[mid]:
return func(list1, num, mid + 1, end)
else:
return func(list1, num, 0, mid - 1)
else:
return "你要查找的数据不存在"
print(func(list1, 45, 0, len(list1) - 1)) # 下标为2