[issue41436] BUG a simple "and" and "or"

James Corbett report at bugs.python.org
Wed Jul 29 12:57:42 EDT 2020


James Corbett <james.h.corbett at gmail.com> added the comment:

I think this would have been a better fit for a StackOverflow issue: https://stackoverflow.com/questions/tagged/python. Also, it's not a compilation error and it doesn't have anything to do with CPython's testing framework. 

Anyway, I don't think this is a bug. For a string `ch`, it is always true that either `ch != 'n'` or `ch != 'N'`---no string is equal to both `'N'` and `'n'`. Therefore your `while` condition will always be true and the loop will always continue.

As you already noted, your loop will terminate properly if you used `and`. You could also rewrite it as `while ch not in ('n', 'N'):` which I think is clearer.

----------
nosy: +jameshcorbett

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue41436>
_______________________________________


More information about the Python-bugs-list mailing list