擅长:python、mysql、java
<p><code>if cardNumber == 0 or 13 or 26 or 39:</code>永远是<code>True</code>,所以你永远不会到达任何<code>elif</code></p>
<p>如果你用或来写它,应该是:</p>
<pre><code>if cardNumber == 0 or cardNumber == 13 or cardNumber == 26 or cardNumber== 39:
</code></pre>
<p>但最好是测试<a href="http://www.tutorialspoint.com/python/membership_operators_example.htm" rel="nofollow">membership</a>并在<code>if cardNumber in {0, 13 , 26, 39}</code>中使用</p>
<p>使用<a href="https://docs.python.org/2/library/sets.html" rel="nofollow">set</a><code>{0, 13 , 26, 39}</code>测试成员身份是<code>O(1)</code>。你知道吗</p>
<pre><code>In [6]: i = 10
In [7]: if i == 0 or 1 or 2: # if 1 evaluates to True
...: print(True)
...:
True
</code></pre>