擅长:python、mysql、java
<p>问题在于:</p>
<pre><code>if difficultySelect == "E" or "e":
worksheet.beginGameLoop("easy")
elif difficultySelect == "M" or "m":
worksheet.beginGameLoop("med")
elif difficultySelect == "H" or "h":
</code></pre>
<p>应该是:</p>
<pre><code>if difficultySelect == "E" or difficultySelect == "e":
worksheet.beginGameLoop("easy")
elif difficultySelect == "M" or difficultySelect == "m":
worksheet.beginGameLoop("med")
elif difficultySelect == "H" or difficultySelect == "h":
</code></pre>
<p>或者更好:</p>
<pre><code>if difficultySelect in ("E", "e"):
worksheet.beginGameLoop("easy")
elif difficultySelect in ("M", "m"):
worksheet.beginGameLoop("med")
elif difficultySelect in ("H", "h"):
</code></pre>
<p>语句<code>if x == 'a' or 'b'</code>将始终为真。在Python中,<code>or</code>语句的结果是<code>False</code>或不是<code>False</code>的第一个求值语句的值。所以在你的例子中,如果<code>difficultySelect</code>等于<code>E</code>,它就是<code>True</code>,或者<code>e</code>。而且<code>e</code>总是不是<code>False</code>——这就是为什么第一个条件总是被满足的原因。你知道吗</p>