第17564题 程序题
Python三级编程题:补全图书借阅管理的二分查找借阅功能代码

Python等级考试三级编程题:图书借阅管理程序。 新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。

library=dict()  #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数])
#书籍入库
nums=len(library)  #先计算图书编号总数
library[nums+1]=['红楼梦',5]     #在编号总数的基础上继续添加新书:library[新编号]=['书名',本数]
library[nums+2]=['西游记',10]
library[nums+3]=['水浒传',5]
library[nums+4]=['三国演义',10]
print(library)
blist=list(library.keys())
#按书名借阅:
bookname=input('请输入借阅图书名称:')
min_v = blist[0]
max_v = blist[-1]
turns=0
while min_v <= ①:
    turns += 1
    cur = (min_v + max_v) ②
    print(cur)
    if library[cur][0] == ③:
        if library[cur][1] > 0:
            library[cur][1] -= ④
            print('《%s》借阅成功!'%bookname)
        else:
            print('抱歉,您选择的书籍已被借完!')
        break
    elif blist[cur-1] > cur:
        min_v = ⑤
    else:
        max_v = ⑥
print("经过%d轮二分查找,完成图书的搜索。"%turns)
编辑模式