On Tue, Feb 7, 2012 at 7:50 PM, Debashish Saha <silid...@gmail.com> wrote:
> for i in range(1, 8):
>    print(i)
>    if i==3:
>        break
> else:
>    print('The for loop is over')
>
>
>  Output:
> 1
> 2
> 3
>
> Question:but after breaking the for loop why the else command could not work?
>

because the else statement was designed to be that way:

http://docs.python.org/reference/compound_stmts.html#for

quoting the relevant part:

"When the items are exhausted (which is immediately when the sequence
is empty), the suite in the else clause, if present, is executed, and
the loop terminates.

A break statement executed in the first suite terminates the loop
without executing the else clause’s suite."

in short, the else clause only executes if you do *not* break out of the loop.

HTH,
Hugo
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to