递归二分法找一个数

def search(l,aim,start=0,end=None):
    if not end:end = len(l)-1
    if  start<=end:
        mid = start + (end-start)//2   
        mid_value = l[mid]            
        if aim > mid_value:          
            start = mid+1            
            ret = search(l,aim,start,end)    
            return ret
        elif aim < mid_value:          
            end = mid-1              
            ret = search(l,aim,start,end)    
            return ret
        else:                                                
            return mid                                      
    else:
        pass
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]   
ret = search(l,15)
print(ret)
原文地址:https://www.cnblogs.com/zhangzhaohua/p/10001594.html