输入一个数,使用二分查找法查找它是否在列表[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("没有找到")
运行结果:
来源:CSDN
作者:熊冰洋啊
链接:https://blog.csdn.net/qq_43589852/article/details/104703030