I'm trying to see if a function returns an integer who's value should be either a 1 or 0.
0 == (1 or 0)
0 is equal to 1 or 0, this sounds like it should be true, but it's not.
Why? And how to do what I'm looking to do correctly?
0 == (1 or 0) is parsed as this tree:
==
/ \
0 or
/ \
1 0
1 or 0 results in 1, because or returns the first truthy value of the two operands (and 1 is truthy).
Afterwards, we're left with 0 == 1, which is obviously False.
What you want to do, is check whether 0 is one of those values which you can do through a sequence check: 0 in (0, 1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With