輸入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))
效果圖如下: