编程题

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

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)

查看答案
赣ICP备20007335号-2