The code is pretty self-explanatory. I was messing around with Python and this (a is b==b==a is c) unexpectedly returned True. How i saw it, the order of operations is == first and then 'is' (according to google). So the code should be equivalent to (a is True is c) which returns False.
Anyway i tried a lot of possible order of operation and all of them seem to return False. Am i missing something really obvious?
I'm using 3.4.2
a,b,c=['wtf' for i in range(3)]
print(a is b==b==a is c) #prints True
print(b==b==a) #prints True
print(a is True is c) #prints False
print((a is (b==b==a)) is c) #prints False
print(a is (b==b==a) is c) #prints False
print((a is b==b==a) is c) #prints False
print((a is b==b)==a is c) #prints False
print((a is b)==b==a is c) #prints False
print(a is ((b==b)==a) is c) #prints False
print(a is ((b==b)==a is c)) #prints False
print((a is b)==(b==(a is c))) #prints False
print((a is b)==b==(a is c)) #prints False