编辑代码

# import random

# list1=[]

# i=1
# while i<11:
#     ran1=random.choice(range(50,301))
#     if ran1 not in list1:
#         list1.append(ran1)
#         i+=1
# print(list1)
# print(len(list1))

# for i in range(len(list1)-1):
#     for j in range(len(list1)-1-i):
#         if list1[j]>list1[j+1]:
#             list1[j],list1[j+1]=list1[j+1],list1[j]
# print(list1)

# for i in range(len(list1)-1):
#     for j in range(i+1,len(list1)):
#         if list1[i]<list1[j]:
#             list1[i],list1[j]=list1[j],list1[i]
# print(list1)


# 二分法查找9的位置
li=[26, 44, 5, 9, 215, 200, 6, 145, 1, 92]
print(li)
li.sort()
# print(li)

key=9
left=0
right=len(li)-1
while left<=right:
    middle=(right+left)//2
    if key>li[middle]:
        middle=left+1
    elif key<li[middle]:
        middle=right-1
    else:
        print(middle)
        break