学校图书馆为了方便查找管理书籍,给每本书编写了号码,[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)+']排第'+ ⑤ )
正确答案:补全答案(Python二分查书):①n=len(lst) ②i<=j ③hm==lst[m] ④i=m+1 ⑤str(b+1)。核心:二分查找书号位置。
试卷来源:202312 青少年软件编程等级考试Python三级真题