>>>>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


_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor

Reply via email to