擅长:python、mysql、java
<p>计算为布尔值的表达式不需要与True或False进行比较。你知道吗</p>
<pre><code>>>> a = [1,2,3]
>>> 1 in a == True
False
</code></pre>
<p><code>a == True</code>在<code>1 in a</code>之前被求值。参考<a href="https://docs.python.org/3/reference/expressions.html#operator-precedence" rel="nofollow noreferrer">6.16 Operator Precedence</a>。你知道吗</p>
<pre><code>>>> 1 in a
True
>>> a == True
False
>>> (1 in a) == True
True
>>>
</code></pre>
<p>更改:</p>
<pre><code>while creature in field == True
</code></pre>
<p>至</p>
<pre><code>while creature in field:
</code></pre>