A34221. 学校图书馆为了方便查找管理书籍,给每本书编写了号码,[8,9,10,12,13,14,16,17,25,27],输入号码提示这本书号码排第几。例如:输入12,输出:要查找的书号12排第4 。请完善程序:lst=[8,9,10,12,13,14,16,17,25,27]hm=int(input('请输入书本号码'))______①______i,j=0,n-1b=-1while ______②__…
填空题
中等
知识点
题目描述
学校图书馆为了方便查找管理书籍,给每本书编写了号码,[8,9,10,12,13,14,16,17,25,27],输入号码提示这本书号码排第几。
例如:输入12,输出:要查找的书号12排第4 。
请完善程序:
lst=[8,9,10,12,13,14,16,17,25,27]
hm=int(input('请输入书本号码'))
______①______
i,j=0,n-1
b=-1
while ______②______ :
m=(i+j)//2
if ______③______ :
b=m
break
elif hm>lst[m]:
______④______
else:
j=m-1
if b==-1:
print('要查找的书号['+str(hm)+']不在列表lst中。')
else:
print('要查找的书号['+str(hm)+']排第'+ ______⑤______ )
参考答案
lst=[8, 9, 10, 12, 13, 14, 16, 17, 25, 27]
hm=int(input(' 请输入书本号码' ) )
n=len(lst)
i, j=0, n-1
b=-1
while i<=j:
m=(i+j) //2
if hm==lst[m]:
b=m
break
elif hm>lst[m]:
i=m+1
else:
j=m-1
if b==-1:
print(' 要查找的书号[' +str(hm) +' ]不在列表 lst 中。 ' )
else:
print(' 要查找的书号[' +str(hm) +' ]排第' +str(b+1))
上一题
下一题