Is this a bug with the python OR operator? : <p>When I run the following code:</p>

<pre><code>i = None
O = ['n', 'y', 'No', 'Yes']
while i not in O:
    i = input('Yes or No?\n')
    if i == 'y' or 'Yes':
        print('Yes')
    if i == 'n' or 'No':
        print('No')
</code></pre>

<p>The output is 
n
Yes
No</p>

<p>Should the code only be displaying No as the output since the first if statement was false? Or am I not understanding something?</p>

<p>Thank you</p>
