Created
December 7, 2020 23:13
-
-
Save dmoisset/55f5916f9f339a143b6f3d155de8706e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from contextlib import contextmanager | |
@contextmanager | |
def breakable(): | |
class Break(Exception): pass | |
def breaker(): raise Break | |
try: | |
yield breaker | |
except Break: | |
pass | |
for outer in range(5): | |
with breakable() as brk: | |
for middle in range(5): | |
for inner in range(10): | |
print(outer, middle, inner) | |
if middle == 1 and inner == 5: | |
brk() | |
print(f"end middle loop #{middle}") | |
print(f"end outer loop #{outer}") | |
print("done") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment