擅长:python、mysql、java
<p>一个问题是</p>
<pre><code>if answer != "y" or "n":
</code></pre>
<p>“or”是逻辑运算符,不允许“double”a!=你想做的比较。这个语句的实际含义是<code>if answer is not "y", or if "n"</code>,<code>"n"</code>,就像任何非空字符串一样,在布尔上下文中总是真的。你知道吗</p>
<p>你想要什么</p>
<pre><code>if answer not in ("y", "n"):
</code></pre>
<p>您还需要通过添加括号来实际调用badanswer()。你知道吗</p>
<p>也没有理由将<code>if True</code>添加到循环条件-<code>while badanswer()</code>做同样的事情。你知道吗</p>