编程题

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