"Mateusz Korycinski" <mat.korycin...@gmail.com> wrote

My problem is simple for sure, but unfortunately I'm a bit beginner and I've stucked in it. I hope it is not a problem since as I understand this mailing
list is for beginners.

No problem, we try to answer questions such as this here.

I have some problem with 'for' loop in algorithm.
Code and description for this problem could be find here:
http://stackoverflow.com/questions/5520145/how-to-stop-iteration-when-if-statement-is-true

There are several ways to get out of a loop, the most common are:

a) To exit a single level of loop use break


for n in range(500):
   if n == 200: break
   else; pass

b) To break out of a set of nested loops such as you have then
use break combined with a sentinal and check the sentinal at
each level:

exitLoop = False
for x in range(20):
   if exitLoop : break
   for y in range(50):
       if exitLoop: break
       for z in range(500):
           if z == 200:
             exitLoop = True
             break

c) Use an exception:

class ExitLoopException(Exception): pass

try:
 for x in range(20):
   for y in range(50):
       for z in range(500):
           if z == 200:
              raise ExitLoopException
except ExitLoopException: pass


There are other ways but those should cover most eventualities.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


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

Reply via email to