擅长:python、mysql、java
<p>你试过<a href="http://docs.python.org/library/bisect.html" rel="noreferrer">^{<cd1>} module</a>吗?</p>
<pre><code>def find_ge(a, key):
'''Find smallest item greater-than or equal to key.
Raise ValueError if no such item exists.
If multiple keys are equal, return the leftmost.
'''
i = bisect_left(a, key)
if i == len(a):
raise ValueError('No item found with key at or above: %r' % (key,))
return a[i]
find_ge(somenumbers, 262139)
</code></pre>
<hr/>
<p>您的代码错误地认为(1)<code>low > high</code>是有效的终止情况。(2) 您不应该停在<code>low == high</code>处,例如,当<code>num == 3</code>为您的<code>somenumbers</code>返回不正确的索引时。</p>