编程题

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