二分查找图书并办理借阅
类型:程序题

题目说明

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

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)

评分标准

(1)max_v;(2分)

(2)// 2;(2分)

(3)bookname;(3分)

(4)1;(3分)

(5)cur +1;(3分)

(6)cur -1。(3分)

代码编辑器 加载中...
留空使用题目默认限制
{{resultStatus.text}}
正在加载运行记录...
乐编题库AI助手
人工客服
微信扫码联系客服
历史对话
{{ s.title || '未命名对话' }}
{{ s.created_at }}
暂无历史对话
我能帮助你什么?