随机生成的 10 个在[1,100)范围内整数存入列表; 输入一个待查找的整数 k, 运用二分法
在列表中查找 k, 根据查找状态输出对应的结果, 请将程序补充完整。
from random import randint
def b(s,v):
top=0
last=len(s)
while _①_
mid=(top+last)//2
if v==s[mid]:
return mid
elif v>s[mid]:
②_
elif v<s[mid]:
last=mid-1
return None
s=[randint(1,100) for i in range(10)]
s.sort()
print(s)
k=int(input())
ans=b(s,k)
if ③_
print('找到, 下标是: ',ans)
else:
print('没有找到这个数! ')
运行结果 1:
[13, 25, 27, 41, 52, 66, 67, 69, 72, 75]
72
找到, 下标是: 8
运行结果 2:
[9, 15, 16, 19, 27, 31, 43, 64, 84, 93]
20
没有找到这个数!