擅长:python、mysql、java
<p>您需要交换while循环条件中操作数的顺序。<code>or</code>从左到右检查条件,并在找到一个<code>True</code>值时停止计算。这就是当你发现<code>H[i-1]</code>是<code>None</code>时你想做的。当前,如果<code>H[i-1]</code>是<code>None</code>,您仍在尝试计算<code>H[i-1][0]</code>,但它不存在。你知道吗</p>
<p>试着这样做:</p>
<pre><code># ...
if H[i] is not None:
print("fail")
while H[i-1] is None or H[i-1][0] < E[0]:
H[i] = H[i-1]
i -= 1
# ...
</code></pre>