if statement - Tricky Simple Python -
can 1 please explain me why if condition working.
x = 0xa5 if x == 0xaa or 0x5a or 0xa0 or 0xab: print "host address correct" 0xaa or 0x5a or 0xa0 or 0xab binary operation not equal 0xa5 either
python isn't doing think - when say
if x == 0xaa or 0x5a or 0xa0 or 0xab: it's checking if x==0xaa or 0x5a "truthy" - wherein non-empty string, example, considered true - , on. error getting suggests 1 of 0x5a, 0xa0, 0xab "truthy". need is
if x == 0xaa or x == 0x5a or x == 0xa0 or x == 0xab: which can expressed more as
if x in [0xaa, 0x5a, 0xa0, 0xab]: though should noted if 0xaa etc strings, need written '0xaa' etc.
Comments
Post a Comment