编程题

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

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

没有找到这个数!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论