Joseph Quigley said unto the world upon 2005-04-14 10:46:
<SNIP>
>Do you see? The == "binds more tightly" than the or. And, in python, 'Q' is
>considered True for the purposes of tests.
<SNIP>
>What you can do instead is this: > >for letter in prefixes: > if letter in ['O', 'Q']: > print letter + 'u' + suffix > else: > print letter + suffix
Oh, ok. Sorry, my bad :) So there is a special use for ==. I must look into this. Thanks, Joe
Hi Joe,
I'm not sure what you mean by a "special use", but maybe this will help:
In arithmetic:
4 * 10 + 2 = 42
as
( 4 * 10 + 2 ) = ( ( 4 * 10 ) + 2 )
This is because '*' comes before '+' in the oder of operations when parenthesis don't settle the issue. One way to express that is to say "'*' binds more tightly than '+'".
In Python '==' binds more tightly than 'or'. So:
( a == b or c ) == ( ( a == b ) or c )
Hence: >>> 42==0 or True True >>> 42 == 0 or 42 == True False >>> # Better is >>> 42 in (0, True) False >>>
Does that help?
Best,
Brian vdB
_______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
