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