编程题

随机生成的 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

没有找到这个数!

查看答案
赣ICP备20007335号-2