Sandy wrote:
Hi all,
A simple and silly if-else question.
I saw some code that has the following structure. My question is why
else is used there though removing else
has the same result. More important, is it not syntactically wrong :-(
for i in xrange(8):
if i < 4:
print i
else:
print i
Cheers,
dksr
The else is not tied to the if, it is tied to the for. The statements
in a for-else (and while-else, and if-else) only execute if the control
expression becomes False. If you want to avoid executing the else
clause, you have to break out of the loop.
Some examples:
In [1]: for i in xrange(8):
...: if i < 4:
...: print i
...:
0
1
2
3
In [2]: for i in xrange(8):
...: if i < 4:
...: print i
...: else:
...: print i
...:
0
1
2
3
7
In [3]: for i in xrange(8):
...: if i < 4:
...: print i
...: if i == 1:
...: break
...: else:
...: print i
...:
0
1
Hope this helps!
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list