题库练习 随机生成的10个在[1,100)范围内整数存入列表;输入一个待查找的整数k,运用二分法在列表中查找k,根据查找状态输出对应的结果,请将程序补充完整。from random import randint

A59156 | 随机生成的10个在[1,100)范围内整数存入列表;输入一个待查找的整数k,运用二分法在列表中查找k,根据查找状态输出对应的结果,请将程序补充完整。from random import randint

来源2021年
时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

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

没有找到这个数!

C++ 编辑器
输入
输出