擅长:python、mysql、java
<p>在Python中,这不起作用:<code>if color == 'blue' or 'Blue'</code>,它总是真的!。您必须将其更改为<code>if color in ('blue', 'Blue')</code>或更好:<code>if color in {'blue', 'Blue'}</code>。在</p>
<p>为什么它什么都不做?因为这样写if时,Python检查<code>if color == 'blue'</code>,如果为True,则执行;如果为False,则继续检查<code>if 'Blue'</code>。假设您的颜色是红色,那么第一部分条件不满足,因此Python就转到<code>if 'Blue'</code>。现在,这总是正确的,因为根据Python的说法:</p>
<p><code>bool(any string except empty string)</code>是真的,<code>bool(any number except 0*)</code>也是如此!因此,由于任何事物的布尔值都为真,所以无论您向它输入的内容是空字符串还是0,都始终满足<code>if color == 'blue' or 'Blue'</code>的if条件。在</p>
<p>另外,您可以将所有的<code>if</code>连接到一行:<code>if Initials == 'YNH' and Age == '42' and DOB == '1/27/74'...</code></p>
<p>*准确地说,0和它的变体,比如0L,0j,0.0,0.00。。。在</p>