#第二次优化递归实现二分法:加入返回值
nums = [-3,4,7,10,13,21,43,77,89]#find_num = 3
defbinary_search(find_num,l):print(l)if len(l) ==0:print("该值不存在!!!")returnFalse
mid_index= len(l) // 2
if find_num >l[mid_index]:
l= l[mid_index:1]returnbinary_search(find_num,l)elif find_num
l=l[:mid_index]returnbinary_search(find_num,l)else:print('find it')returnTrue
res= binary_search(7,nums)print(res)"""运行结果;没有return返回None
[-3, 4, 7, 10, 13, 21, 43, 77, 89]
[-3, 4, 7, 10]
find it
None"""
#获取结果的返回值:运行返回值是None?为啥?这要追溯到函数运行时的运行结果,没有return返回None
"""加入return后运行结果:
[-3, 4, 7, 10, 13, 21, 43, 77, 89]
[-3, 4, 7, 10]
find it
True"""