#1、 递归实现列表求和
def list_sum(num_List):
if len(num_List) == 1:
return num_List[0]
else:
return num_List[0] + list_sum(num_List[1:])
print(list_sum([2, 4, 5, 6, 7]))
##2、编写一个递归函数来计算列表包含的元素数
def list_sum(x):
if len(x) == 1:
return 1
return 1 + list_sum(x[1:])
print(list_sum([2, 4, 5, 6, 7]))
##3、找出列表中最大的数字
def list_max_num(lst):
if len(lst)==1:
return lst[0]
return lst[0] if lst[0]>list_max_num(lst[1:]) else list_max_num(lst[1:])
print(list_max_num([3,4,7,1,2]))
##4、递归实现二分查找法
def find(l,aim,start = 0,end = None): #find(列表,查找数,start = 列表起始位置,end =列表长度 14)
end = len(l) if end is None else end #end 不等于空,所以end = 列表长度
mid_index = (end - start) // 2 + start #计算中间位置
if l[mid_index] < aim: #中间值<查找数比较
find(l,aim,start = mid_index+1,end=end) #再次递归
elif l