Seite 1 von 1
mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 15:59
von sauterle
Hallo
meine frage ist zwar ziemlich primitiv aber ich habe auch im Netz keine Möglichkeit gefunden es zu machen.
wie kehre ich von meiner if Anweisung in die Ursprungsschleife(erste while schleife) mit einem Befehl zurück ohne 3 und 5 zu printen
Code: Alles auswählen
while True:
print(1)
while True:
print(2)
while True:
if True:
gesuchter befehl
print(5)
print(3)
print(4)
Danke für Hilfe schon einmal im voraus
LG sauterle
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 16:07
von __deets__
Zb indem die innereren schleifen eine Funktion werden, die du mit Return verlässt.
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 18:03
von noisefloor
Hallo,
bei mehr als zwei Schleifen verschachteln wird's IMHO sowieso unübersichtlich und man sollte überlegen, ob man das nicht besser strukturieren kann.
Gruß, noisefloor
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 18:20
von nezzcarth
sauterle hat geschrieben: Montag 30. Oktober 2023, 15:59
wie kehre ich von meiner if Anweisung in die Ursprungsschleife(erste while schleife) mit einem Befehl zurück ohne 3 und 5 zu printen
5 wird hier ja gar nicht ausgegeben sondern 2 und 3. 'break' beendet immer nur die aktuelle Schleife. Wenn du etwas anderes benötigst, ist das ein Hinweis darauf, dass du dein Programm anders strukturiert sein sollte, s.a. die Hinweise von __deets__ und noisefoor. Der Vollständigkeit halber kann man noch erwähnen, dass es bei Schleifen in Python ein etwas obskures Feature gibt, um bestimmte Code-Teile nur auszuführen, wenn die Schleife normal beendet wurde, ohne break und das könnte man hier tatsächlich einsetzen, um den erwünschten Effekt zu erzielen. Allerdings ist das eher etwas, das man sich erst anschauen sollte, wenn man Python schon gut beherrscht und die sehr selten Fälle, in denen es sinnvoll ist erkennen kann.
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 19:08
von sauterle
Hallo
schade dass es keinen einfachen Befehl gibt. Ich habe es jetzt einfach folgendermaßen gelöst:
Code: Alles auswählen
breakbool = False
while True:
while True:
while True:
if True:
breakbool = True
break
print("blobloblo")
#restlicher code der schleife
if breakbool:
break
print("blablabla")
#restlicher code der schleife
print("plapper")
#restlicher code der schleife
was meint __deets__ mit
Zb indem die inneren Schleifen eine Funktion werden, die du mit return verlässt.
und wie heißt dieses "obskure Feature"(das Interessiert mich jetzt einfach

)
LG sauterle
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 19:17
von kbr
Das "obskure Feature" heißt "else", was dir jetzt wenig helfen wird.
Hier die Lösung mit einer Funktion:
Code: Alles auswählen
def inner():
while True:
print(2)
while True:
if True:
gesuchter befehl
return
print(5)
print(3)
while True:
print(1)
inner()
print(4)
Re: mehrere verschachtelte schleifen verlassen
Verfasst: Montag 30. Oktober 2023, 22:10
von sauterle
Danke

Re: mehrere verschachtelte schleifen verlassen
Verfasst: Mittwoch 1. November 2023, 21:25
von DeaD_EyE
Die Funktion ist eine Möglichkeit. Ich sehe das Problem aber an erster Stelle: die verschachtelten Schleifen.