商超采用会员制, 客户的消费信息如会员号、 姓名和积分如下表所示, 小方的爸爸想编写一个客户信息管理系统, 其中有一个功能是: 输入会员号, 查询该会员的积分。
小方知道后, 就跃跃欲试, 他首先从数据库读取客户信息到列表 data 中, 其中 data[i][0]存储第 i 条记录的会员号, data[i][1]存储第 i 条记录的姓名,data[i][2]存储第 i 条记录的积分; 他首先将数组 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('该会员号不正确')