On 07/02/2012 19:07, Hugo Arts wrote: > 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.
I might be missing something but I can't see a reason for the "else:" clause attached to the "for" statement, could anyone provide an example where or why someone might use the "else:" clause with the for loop? P. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor