To me it seems obvious that the chained comparisons wouldn't work. I've never seen someone make that mistake before. Doing that breaks extremely easily without the fact about booleans. If a == b == c is True, then (a == b) == c is guaranteed to be False unless they are all equal to True (or 1). I often use this property of booleans to write something like sum(predicate(x) for x in lst) to count the number of items in a list satisfying a condition, or conveniently making something plural with f"thing{(len(things) > 1) * 's'}" . It's hacky but it's fun.