刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

37.查字典
假如字典为1000页,若用二分法来翻到具体指定的页码,则横线处能正确控制循环体运行的表达式是什么?请完善横线处的代码。x=int(input("请输入要查找的页码(小于1000):"))
flagleft=1
flagright=1000
n=0
while ① :
mid= (flagleft+flagright)//2
n=n+1
if mid>x:

elif mid<x:

else:
break
print('需要查找的次数为:',n)

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

二分查找算法的核心思想是,每次比较中间值与目标值的大小关系,然后根据比较结果调整查找区间。在这个问题中,我们需要查找字典中的某一页,字典总共有1000页。我们可以设定两个标志位,一个表示查找区间的左边界(flagleft),一个表示右边界(flagright)。在每次循环中,我们计算中间值(mid),然后与目标页码(x)进行比较。如果mid大于x,说明目标在左半部分,将右边界调整到mid-1或mid;如果mid小于x,说明目标在右半部分,将左边界调整到mid+1或mid;如果mid等于x,则找到了目标页码,直接退出循环。循环会一直进行,直到左边界大于右边界为止。因此,横线处能正确控制循环体运行的表达式是flagleft <= flagright。当mid大于x时,将flagright调整为mid-1或mid;当mid小于x时,将flagleft调整为mid+1或mid。

创作类型:
原创

本文链接:37.查字典假如字典为1000页,若用二分法来翻到具体指定的页码,则横线处能正确控制循环体运行的表达

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share