Noob: Loops and the 'else' construct
gagsl-py2 at yahoo.com.ar
Fri Oct 19 05:11:18 CEST 2007
En Thu, 18 Oct 2007 23:44:27 -0300, Ixiaus <parnell.s at comcast.net>
> I have just come across a site that discusses Python's 'for' and
> 'while' loops as having an (optional) 'else' structure.
> At first glance I interpreted it as being a bit like the 'default'
> structure in PHP's switch block... But the switch block isn't a loop,
> so, I am now confused as to the reason for using 'else' with the for
> and while loops...
> A few quick tests basically show that statements in the else structure
> are executed at the fulfillment of the loop's expression (ie, no
A `while` loop tests a condition: if it evaluates to true, keep cycling;
if it is false, stop. The `else` clause is executed when the condition is
false, as in any `if` statement. If you exit the loop by using `break`,
the `else` part is not executed (because you didn't get out of the loop by
determining the condition falseness)
You can think of a `for` loop as meaning `while there are remaining
elements to be iterated, keep cycling` and the `else` clause applies when
there are no more elements. A `break` statement does not trigger the else
clause because the iteration was not exhausted.
Once you get the idea, it's very simple.
More information about the Python-list