python 二分法查找

data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35]


def binary_search(num,data):
    if(len(data)>0):
        mid=int((len(data))/2)
        if len(data)>0:
            if data[mid]==num:
                print("get it")
                return
            elif data[mid]>num:
                data=data[:mid]
                return binary_search(num,data)
            elif data[mid]<num:
                data=data[mid+1:]
                return binary_search(num,data)
    else:
            print("不存在!")

for i in range(1,36):

    print(i)
    binary_search(i, data)

原文地址:https://www.cnblogs.com/yangzhenwei123/p/6759267.html