Bei folgendem Code (der nicht funktioniert):
while True:
#snip: print out current state
while True:
ok = get_input("Is this ok? (y/n)")
if ok.lower() == "y": break 2 #this doesn't work :(
if ok.lower() == "n": break
#do more processing with menus and stuff
Gibt es eine Möglichkeit, dies zu erreichen? Oder muss ich eine Prüfung durchführen, um aus der Eingabeschleife auszubrechen, und dann eine weitere, eingeschränktere Prüfung in der äußeren Schleife, um alles zusammen auszubrechen, wenn der Benutzer zufrieden ist?
193 Stimmen
Warum gibt es in Python nicht einfach "break(n)", wobei n die Anzahl der Ebenen ist, aus denen man ausbrechen möchte.
14 Stimmen
C++ ist hier schön mit
goto
wenn Sie tief in eine Menge von Schleifen eingebettet sind2 Stimmen
@Nathan See Warum Python nicht nativ erlauben ein Schlüsselwort wie goto für den Ausbruch aus n Schleifen eine sehr schöne Erklärung von Nathan
4 Stimmen
Ned Batchelder hält diesen interessanten Vortrag, in dem es um "Wie komme ich aus zwei Schleifen heraus?" . Spoiler-Alarm: Machen Sie die Doppelschlaufe einfach.