新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。
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)
相似题推荐
在Python中,print(set('good'))运行的结果是?( )
| A. ['g','o','o','d'] |
B. ['g','o','d'] |
| C. {'g','o','o','d'} |
D. {'g','o','d'} |
分析以下Python代码,它将会输出什么?( )
import csv
with open('sample.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)sample.csv文件的内容如下:
id,name,age
1,Alice,25
2,Bob,30
| A. 将输出整个CSV文件的内容,包括列标题 |
B. 将只输出数据行,不包括列标题 |
| C. 运行会报错,因为缺csvfile.close() |
D. 运行会报错,因为print(row)语句不正确 |
以下Python代码执行后,输出是?( )
try:
num = int('abc')
except ValueError:
print('Error')
else:
print('OK') | A. Error |
B. OK |
| C. 无输出 |
D. 报错 |
