Python Tutorial
- jetzt Python programmieren lernen

break & continue – Schleifen im Ablauf abbrechen

Sowohl die for- wie auch die while-Schleife gibt es die Möglichkeit diese frühzeitig abzubrechen, auch wenn das Schleifenende eigentlich noch nicht erreicht wurde. Dies läuft über den Python-Befehl break

Wir haben eine for-Schleife, die die Zahlen von 0 bis 9 durchläuft. Diese soll aber bei Erreichen von der Zahl 7 abbrechen und nach der Schleife weitermachen.

for durchgang in range(10):
	if durchgang == 7:
		print("Schleifenabbruch wird erzwungen")
		break
	print(durchgang)
print("Nach der Schleife")

Als Ergebnis erhalten wird

0
1
2
3
4
5
6
Schleifenabbruch wird erzwungen
Nach der Schleife

Schleifendurchgang im Ablauf überspringen

Nicht ganz so radikal wie break funktioniert die Anweisung continue in Python. Es wird nur der Schleifendurchgang abgebrochen, aber wieder den nächsten Schleifendurchgang mit neuem Wert durchlaufen.

Dies wird in einem Beispiel klarer. Wir wollen beispielsweise nur gerade Ergebnisse ausgeben lassen. Dazu wird die mathematische Funktion des Modulo genutzt.

Was macht der Modulo? Diese gibt uns als Rückantwort entweder 0 für gerade bzw. 1 für ungerade zurück. Der Modulo wird über die Konstruktion "%2" aktiviert. Schauen wir Beispiele dazu an:

wert = 3
print(wert%2)

Hier erhalten wir als Ausgabe dann 1. Die Zahl 3 ist ungerade und somit kommt als Ergebnis dann 1.

wert = 4
print(wert%2)

Hier erhalten wir als Rückgabe die 0, da unsere Zahl 4 gerade ist.

wert = 13
print(wert%2)

Die Zahl 13 ist ungerade und somit liefert der Modulo als Rückgabe 1.

Setzten wir dieses Wissen nun in unsere for-Schleife ein, damit nur noch gerade Zahlen ausgegeben werden und die Schleife in diesem Durchgang nicht weiter durchlaufen wird.

for durchgang in range(10):
	if durchgang%2 == 1:
		continue
	print(durchgang)
print("Nach der Schleife")

Als Ausgabe erhalten wir alle gerade Zahlen (ohne 10, da ja der Durchgang nur bis 9 geht)

0
2
4
6
8
Nach der Schleife

Dies waren beide Möglichkeiten, eine Schleife komplett abzubrechen (break) oder den Schleifendurchlauf zu überspringen (continue).

Das klappt sowohl bei der for-Schleife wie auch bei der while-Schleife.