Else statement executing when it shouldnt
Thomas Boell
tboell at domain.invalid
Tue Jan 22 10:39:24 EST 2013
On Mon, 21 Jan 2013 06:07:08 +0100
René Klačan <rene.klacan at gmail.com> wrote:
> Examples:
>
> # else branch will be executed
> i = 0
> while i < 5:
> i += 1
> else:
> print('loop is over')
>
>
> # else branch will be executed
> i = 0
> while i < 5:
> i += 1
> if i == 7:
> print('i == 7')
> break
> else:
> print('loop is over')
>
>
> # else branch wont be executed
> i = 0
> while i < 5:
> i += 1
> if i == 3:
> print('i == 3')
> break
> else:
> print('loop is over')
Huh?! I would have expected all your examples to raise a SyntaxError or
IndentationError. Why don't they? Is 'else' not required to have a
matching 'if'?
More information about the Python-list
mailing list