break aus geschachtelter Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Hallo,
das ist mein Code (zusammengefasst). Wenn man in das Break kommt soll das Programm aus der "while True"-Schleife aussteigen.
Wie kann man das machen mit oder gerne auch ohne "break"?

Code: Alles auswählen

def erstelleSchiffe():
    while True:
        for event in pygame.event.get():
            
            if event.type == pygame.QUIT: pass #Beenden

            elif event.type == pygame.MOUSEBUTTONDOWN: #Mausereignis
                #Code
                if FeSpi.schiffsgrossenliste[0] == 0: #AUSTIEG
                    break
            
            elif event.type == pygame.KEYDOWN: pass #Tastaturereigniscode
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Entweder über return, aber dann bist du aus der ganzen Funktion ausgestiegen oder du muss Exceptions dafür missbrauchen. Die Alternative wäre in jede Schleife eine Abbruchbedingung reinzubasteln.

Code: Alles auswählen

should_run = True
while should_run:
     for ...:
         if ...:
             should_run = False; break
Was nur spaß macht wenn es nur eine Schleife ist.
Antworten