python实例之二分法

88 阅读1分钟
lst=[12,15,22,35,48,55,129,657]
n=int(input('请输入你想要找的数字:'))
left =0
right=len(lst)-1
while left<=right:
    mid = (left + right) // 2
    if n > lst[mid]:
        left = mid + 1
    elif n < lst[mid]:
        right = mid - 1
    else:
        print('找到这个数字,它在%s位置' % (mid))
        break
else:
    print('未找到数据')