[Tutor] New to programming question (Ben M.) (Joseph Q.)

Joseph Quigley cpu.crazy at gmail.com
Thu Apr 14 16:46:13 CEST 2005


 >>>>if letter == 'O':
 >    print letter + 'u' + suffix
 >elif 'Q':
 >    print letter + 'u' + suffic
 >else:
 >    print letter + suffix
 >
 >Do you see?  The == "binds more tightly" than the or.  And, in python, 'Q' is
 >considered True for the purposes of tests.
 >
 >So this is what happens:
 >
 >>>> prefixes = 'JKLMNOPQ'
 >>>> suffix = 'ack'
 >>>>
 >>>> for letter in prefixes:
 >
 >...   if letter == ('O') or ('Q'):
 >...     print letter + 'u' + suffix
 >...   else:
 >...     print letter + suffix
 >...
 >Juack
 >Kuack
 >Luack
 >Muack
 >Nuack
 >Ouack
 >Puack
 >Quack
 >
 >>>>
 >
 >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




More information about the Tutor mailing list