二分查找(函数)

【问题描述】完善Binary_search(lt)函数,实现二分查找功能。

【输入形式】输入待查找数列,和需要查找的数据。
【函数返回值】查找到返回True,未找到返回False.
【样例输入】

[4,6,7,9,45,78,87]

45


【样例输出】

找到该数

def Binary_search(lt):
    low = 0
    high = len(lt) - 1
    flag = False
    while high-low>=1 and flag == False:  # 使用m指向l和h的中间位置
        m = (high + low) // 2
        if lt[m] == x:
            flag = True
        elif lt[m] < x:
            low = m + 1
        else:
            high = m
    return flag
lt = eval(input())
x = eval(input())
if Binary_search(lt) == True:
    print('找到该数')
else:
    print('未找到该数')

你可能感兴趣的:(python)