擅长:python、mysql、java
<p>这行<code>if choice2 == "Yes" or "yes" or "y"</code>不像你想象的那样工作。在第一个语句<code>choice2 == "Yes"</code>之后,它就像是在问<code>if "yes"</code>或<code>if "y"</code>。字符串上的<code>if</code>语句将始终返回true,除非它是空字符串。要解决这个问题,你需要</p>
<pre><code>if choice2 == "Yes" or choice2 == "yes" or choice2 == "y":
</code></pre>
<p>或者这种更像Python的方法:</p>
<pre><code>if choice2 in ["Yes", "yes", "y"]:
</code></pre>
<p>它将检查字符串是否在该数组中。
当然,同样的情况也适用于<code>elif choice2 == "No" or "no" or "n":</code>,它的当前形式也总是返回true。你知道吗</p>