[Tutor] (no subject)

Patrick Dempster paddy at paddy-dempster.org.uk
Wed Feb 8 20:04:29 CET 2012


On 07/02/2012 19:07, Hugo Arts wrote:
> On Tue, Feb 7, 2012 at 7:50 PM, Debashish Saha <silideba at 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.


More information about the Tutor mailing list