擅长:python、mysql、java
<p>你永远不会终止搜索。如果该项不在列表中,则到达稳定的中点并无限循环。如果你找到了这个项目,你就无限地在<em>上循环</em>(见耶文的答案)。你知道吗</p>
<p>我用你在这里看到的补充来追踪它:</p>
<pre><code>SearchFailed = False
iter = 0
while iter < 10 and (ItemFound == False or SearchFailed == False):
iter += 1
Midpoint = (First + Last) // 2
print (First, Midpoint, Last, ItemSought)
if logindata[Midpoint] == ItemSought:
</code></pre>
<p>请注意,您永远不会更改SearchFailed。例如,当我搜索“harry”时,循环会在(0,-1,-2)处找到一个稳定的无限点,比如First、Middle和Last。你知道吗</p>
<p>这足以让你自己修好吗?你知道吗</p>