第18534题 程序题
补全Python商超会员积分查询系统中冒泡排序、二分查找的空缺代码

Python等级考试四级编程题:商超会员客户信息管理系统。

商超采用会员制,客户消费信息包含会员号、姓名和积分,需实现功能:输入会员号,查询该会员的积分。会员信息示例如下:

序号 会员号 姓名 积分
1 8011 张飞 12345
2 8012 李强 34512
3 7812 李好 45321
... ... ... ...

已知会员信息存储在列表data中,data[i][0]存储第i条记录的会员号,data[i][1]存储姓名,data[i][2]存储积分。需先将data按会员号升序排序,再用二分查找算法查找对应会员的积分,补全以下代码中的三处空缺(①②③):

def bubble_sort(d):
    for i in range(len(d)-2):
        for j in range(len(d)-1, ①, -1):
            if d[j][0] < d[j-1][0]:
                d[j],d[j-1] = d[j-1],d[j]

def bin_search(d, key):
    i,j = 0, len(d)-1
    while i <= j:
        m = (i + j) // 2
        if ②:
            return m
        if key > d[m][0]:
            i = m + 1
        else:
            j = m - 1
    return -1

# 从数据库读取会员信息存列表data中,代码略
data = [[8011,'张飞',12345],[8012,'李强',34512],[7812,'李好',45321]]
bubble_sort(data)
key = int(input('输入会员号:'))
m = ③
if m != -1:
    print(data[m][1],'先生/女士:您的积分是:',data[m][2])
else:
    print('该会员号不正确')
程序运行统计
暂无判题统计