<pre><code>if __name__ == '__main__':
val='n'
while val != 'y' or val != 'Y':
val = input("are we done ? [Y/n]: ")
exit()
</code></pre>
<blockquote>
<p>and got quite perplexed as the result is</p>
</blockquote>
<pre><code>are we done ? [Y/n]: y
are we done ? [Y/n]: y
are we done ? [Y/n]: Y
are we done ? [Y/n]: Y
are we done ? [Y/n]: yes
are we done ? [Y/n]:
</code></pre>
<p>我想也许<a href="https://stackoverflow.com/questions/22362165">related question will help</a>但还是不高兴。
有人知道为什么我的第一次审判失败了吗</p>
<p>这是你的状况。即使<code>val</code>是<code>y</code>,这也是正确的,因为它不是<code>Y</code></p>
<p>试一试</p>
<pre><code>while val != 'y' and val != 'Y':
</code></pre>
<p>只有当它既不是<code>y</code>也不是<code>Y</code>时,这才是正确的</p>