Python - `break` out of all loops [duplicate] Python - `break` out of all loops [duplicate] python python

Python - `break` out of all loops [duplicate]


You should put your loops inside a function and then return:

def myfunc():    for i in range(1, 1001):        for i2 in range(i, 1001):            for i3 in range(i2, 1001):                if i*i + i2*i2 == i3*i3 and i + i2 + i3 == 1000:                    print i*i2*i3                    return # Exit the function (and stop all of the loops)myfunc() # Call the function

Using return immediately exits the enclosing function. In the process, all of the loops will be stopped.


You can raise an exception

try:    for a in range(5):        for b in range(5):            if a==b==3:                raise StopIteration            print bexcept StopIteration: pass


why not use a generator expression:

def my_iterator()    for i in range(1, 1001):        for i2 in range(i, 1001):            for i3 in range(i2, 1001):                yield i,i2,i3for i,i2,i3 in my_iterator():    if i*i + i2*i2 == i3*i3 and i + i2 + i3 == 1000:        print i*i2*i3        break