[Tutor] elif statement
Adam Bark
adam.jtm30 at gmail.com
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,
Adam.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100811/a6124b30/attachment.html>
More information about the Tutor
mailing list