输入n个数,通过二分法查找该数的下标
def binarySearch(arr,value):m = 0#开始n = len(arr#最后)while m<n:mid=(m+n)//2#计算中间位置if value==arr[mid]:#查找成功,返回元素对应的位置return midelif value>arr[mid]:#在后面一半元素中继续查找m=mid+1elif value<arr[mid]:#在前面一半元素中继续查找m=mid-1return False
arr=[]
n=int(input("请输入要排序几个数:"))
print("请依次输入要排序的数:")
for i in range(n):arr.append(int(input()))
value=int(input("请输入要查找的数:"))
x=binarySearch(arr,value)
print('该数的下标为:%s' %(x))
效果图如下: