#二分查询
#有序列表
from asyncio.log import logger
def binary_search(arr,find):
'''
:param arr:
:param find:
:return:
'''
first = 0
lasted = len(arr) - 1
while first <= lasted:
mid = (first+lasted)//2
if arr[mid] == find:
logger.debug("在mid处找到")
return mid
elif arr[mid] > find:
lasted = mid-1
elif arr[mid] < find:
first = mid+1
else:
return -1
if __name__ == '__main__':
arr_list = [1,3,7,9,99,101]
find = int(input("请输入一个数字,查找是否在列表中"))
res = binary_search(arr_list,find)
print(res)
来源:https://blog.csdn.net/chuanying_xiaoqi/article/details/99456684