代码: import numpy as np settest = set(np.random.randint(0,100,20)) def BubbleSort(li:[]): length = len(li) for i in range(0,length): for j in range(0,length - i - 1): if li[j] > li[j+1]: tmp = li[j] li[j] = li[j+1] li[j+1] = tmp def BiSearch(li:[],key): length = len(li) high = length - 1 low = 0 mid = (high + low) // 2 #首位特殊处理 if key == li[0]: return 0 if key == li[-1]: return length-1 while mid < length-1 and mid > 0: if key > li[mid]: low = mid elif key < li[mid]: high = mid else: return mid mid = (high + low) // 2 return -1 listtest = [5, 10, 32, 36, 39, 40, 48, 55, 58, 60, 63, 65, 71, 75, 77, 78, 83, 85, 98 , 100] print(listtest) num = BiSearch(listtest,100) print(str(num))