[Tutor] How to handle conjunction operators
Hugo Arts
hugo.yoshi at gmail.com
Sun Nov 27 20:02:58 CET 2011
On Sun, Nov 27, 2011 at 7:52 PM, surya k <suryak at live.com> wrote:
> Hi,
> Could you please tell me why this isn't working and how can I make it
> possible...
> Consider this code..
>
> name = raw_input("Enter your first name: ")
> if name[0] == ("m" or "f" or "b") :
> rhyme = name[1:]
>
> What I want here is.. If the name starts with 'm' or 'f' or 'b', The first
> letter should be removed.
> But this isn't happening here.
This is a very common error. Fact is, the or operator just isn't
distributive with respect to the == operator like that, and for good
reason. What you want is either this:
if name[0] == "m" or name[0] == "f" or name[0] == "b":
or, more idiomatically, you can use the in operator like this:
if name[0] in ("m", "f", "b"):
HTH,
Hugo
More information about the Tutor
mailing list