编程题

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

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