def binary(l, aim, start_index=0, end_index=None):
end_index = len(l) if end_index is None else end_index
mid_index = (end_index - start_index)//2 + start_index
if start_index <= end_index:
if l[mid_index] < aim:
return binary(l, aim, start_index=mid_index+1, end_index=end_index)
elif l[mid_index] > aim:
return binary(l, aim, start_index=start_index, end_index=mid_index-1)
else:
return mid_index
else:
return '查无此数'