第15977题
Python实现分治思想补全不重复成绩编号的二分查找自定义函数

任务:利用分治思想,在50个同学成绩(成绩不重复)中查找指定成绩的同学的编号,学生成绩存储在列表cj中;待查找的成绩由键盘输入到变量key中。根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。

""" 函数名def search(lft,rgt,key) 参数表:整数lft,rgt表示待查找列表的左右边界,key是待查找的成绩 返回值:找到返回key所在编号,否则返回-1. """
def search(lft,rgt,key):
    if lft>rgt:
        return -1
    mid = ①
    if cj[mid] == key:
        return mid
    elif ② :
        lft = mid + 1
    else:
        rgt = mid - 1
    ③

import random
cj = [random.randint(1,100) for i in range(50)]
cj.sort()
key = int(input("输入待查找的成绩"))
pos = search(0,49,key)
print(pos)