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