python学习笔记(12) 二分法查找列表

l =[1,2,3,4,6,7,8,11,22,44,222,5555,33333,45555]

def find(l,aim,start = 0, end = None):
end = len(l) if end is None else end
min_index = (end - start) // 2 +start
if start <= end:
if l[min_index-1] < aim:
return find(l,aim,start = min_index+1, end = end)
elif l[min_index-1] > aim:
return find(l,aim,start = start,end = min_index-1)
else:
print('%s所在的位置是:' % aim,end ='')
return min_index
else:
return '找不到这个值'

ret = find(l,666666)
print(ret)

猜你喜欢

转载自www.cnblogs.com/farion/p/9884225.html