对分查找书号并输出排名
类型:程序题

题目说明

学校图书馆为了方便查找管理书籍,给每本书编写了号码,[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)+']排第'+        ⑤        )
代码编辑器 加载中...
留空使用题目默认限制
{{resultStatus.text}}
正在加载运行记录...
乐编题库AI助手
人工客服
微信扫码联系客服
历史对话
{{ s.title || '未命名对话' }}
{{ s.created_at }}
暂无历史对话
我能帮助你什么?