python使用二分查找法查找某个数是否在列表内

输入一个数,使用二分查找法查找它是否在列表[34,64,67,72,73,82,83,85,87,88,90,91,96,98]中。如果找到,输出此数及其索引值,否则输出”没有找到“的信息。

如果lis[mid] 如果lis[mid]>key,则max=mid-1
如果lis[mid]==key,输出索引值

代码:

lis=[34,64,67,72,73,82,83,85,87,88,90,91,96,98]
key=int(input())
min=0
max=len(lis)
if key in lis:
    while min<max:
        mid=(min+max)//2
        if lis[mid]<key:
            min=mid+1
        elif mid>key:
            max=mid-1
        elif lis[mid]==key:
            print(mid+1)
            break
else:
    print("没有找到")

运行结果:
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(python)