# [Tutor] elif statement

Wed Aug 11 04:03:57 CEST 2010

```On 11/08/10 02:34, Sudarshana Banerjee wrote:
> Hi: I am trying to teach myself Python, and am stuck at the
> indentation with the elif statement.
>
> This is what I am trying to type (as copied from the textbook):
>
> x=3
> if x==0:
>     print "x is 0"
> elif x&1 ==1:
>     print "x is a odd number"
> elif x&1==0: -- Line 6
>     print "x is a even number"
>
> If I am combining the if and the print statement, then the elif
> statement is in the next line, and all is well with the world. If
> however, I write the print as a separate statement, I am getting a
> syntax error after I press Enter after keying the first elif statement.
>
> >>> x=3
> >>> if x==0:
> print x
> elif x==2:

Here you have indented the elif statement but it should be at the same
level as the if:
>>> x=3
>>> if x==0:
...     print x
... elif x==2:
...     print "something else"
...
>>>

> SyntaxError: invalid syntax
>
> Again:
> >>> x=3
> >>> if x==2: print x
> elif x&1 == 1: print 'x is odd'
> >>> elif x&1 ==0: print 'x is even'
> SyntaxError: invalid syntax

I'm not sure what's going on here but the second elif is being
interpreted separate to the rest of the if statement hence a SyntaxError:
>>> elif x&1 == 0: print "x is even"
File "<stdin>", line 1
elif x&1 == 0: print "x is even"
^
SyntaxError: invalid syntax

This works:
>>> if x==2: print x
... elif x&1 == 1: print 'x is odd'
... elif x&1 ==0: print 'x is even'
...
x is odd

>
> If I am pressing two Enters, the code executes; so I have a elif
> without a if, and again, a syntax error. What am I not doing right?
>
> Thank you.
>
> Sudarshana.
HTH,