编程题

任务:利用分治思想,在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)

查看答案
赣ICP备20007335号-2