Sometimes it is necessary to jump out of the loop, or to go directly to the next loop iteration. These two operations are performed by the break
and continue
commands. The break
keyword, as the name indicates, breaks the loop. Two situations can occur where the loop breaks:
break
).For the first case, special actions can be defined in an else
block, which is executed if the whole list is traversed. This is useful in general if the purpose of the for
loop is to find something and stop. Examples might be searching for one element satisfying a certain property inside a list. If such an element is not found, the else
block is executed.
Here is a common usage in scientific computing. Quite often, we use an iterating algorithm that is not guaranteed to succeed. In that case, it is preferable to use a (big) finite loop so that the program does not get caught in an infinite loop. The for
/else
construct allows such an implementation:
maxIteration = 10000 for iteration in range(maxIteration): residual = compute() # some computation if residual < tolerance: break else: # only executed if the for loop is not broken raise Exception("The algorithm did not converge") print("The algorithm converged in {} steps".format(iteration+1))
3.147.85.221