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

≡放荡痞女 提交于 2020-03-07 02:23:28

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

如果lis[mid]<key,则min=mid+1
如果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("没有找到")

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!