Modul 1 — Was ist do … while?
Eine Schleife, die mindestens einmal läuft.
Grundidee
In anderen Sprachen wie C oder Java gibt es zwei Sorten von Schleifen — kopfgesteuerte und
fußgesteuerte. Die fußgesteuerte Variante do { … } while (…) prüft die
Bedingung erst am Ende jedes Durchlaufs. Folge: Der Block läuft garantiert
mindestens einmal — auch wenn die Bedingung von Anfang an falsch ist.
Das ist nützlich, wenn man zuerst etwas erledigen will (z. B. eine Eingabe lesen, ein Menü anzeigen, einen Test starten) und erst danach entscheidet, ob es weitergeht.
WichtigPython hat kein eigenes do … while
Python kennt nur while und for. Es gibt keine fußgesteuerte
Schleife. Das idiomatische Muster ist eine Endlosschleife mit explizitem
Ausstieg:
while True:
<Anweisungen> # läuft mindestens einmal
if <Abbruch>:
break # Ausstieg am Ende des Blocks
Die Prüfung steht am Ende des Blocks. Dadurch wird der Block immer einmal vollständig ausgeführt, bevor entschieden wird, ob es eine weitere Iteration gibt.
Beispiel 1.1 — ein Block, der genau einmal läuft
Python wird geladen…Prüfung
Modul 2 — Das Python-Muster im Detail
while True + break am Blockende.
Aufbau Schritt für Schritt
- Schreibe
while True:— die Schleife läuft ohne Vorabprüfung an. - Setze deine eigentliche Arbeit in den Block: Ausgaben, Berechnungen, Zählvariablen verändern.
- Am Ende des Blocks:
if <Abbruchbedingung>: break.
So entspricht die Logik einem klassischen do { … } while (!Abbruch); — nur dass
Python die Bedingung „umgedreht" als Abbruchbedingung formuliert.
Beispiel 2.1 — zählen, bis ein Endwert erreicht ist
Python wird geladen…Prüfung
Variante: Punkte aufsammeln, bis eine Grenze überschritten ist
Häufig willst du eine Zählvariable im Block verändern und dann am Ende prüfen, ob du einen Schwellwert erreicht hast. Das ist eine der typischsten do-while-Situationen.
Beispiel 2.2 — Punkte sammeln bis ≥ 3
Python wird geladen…Prüfung
Modul 3 — Eingabe- und Validierungs-Schleifen
Der Klassiker: „Frage so lange, bis die Antwort passt."
Warum gerade hier do-while?
Bei einer Eingabeprüfung musst du erst nach einem Wert fragen und
danach beurteilen, ob er gültig ist. Eine kopfgesteuerte
while-Schleife hätte sonst nichts zum Prüfen.
Die Beispiele unten verwenden feste Werte, damit du sie direkt mit „Ausführen" testen kannst.
In den Programmieraufgaben liest du Werte teils mit input() ein (die Prüfung
speist die Eingaben automatisch ein, input() wurde im Modul „Variablen"
eingeführt) und definierst sie teils selbst im Code — je nach Aufgabe steht das jeweils dabei.
Beispiel 3.1 — Wort prüfen, bis es "ok" ist
Python wird geladen…Prüfung
Beispiel 3.2 — Passwort-Test
Python wird geladen…Prüfung
Modul 4 — Typische Fallen
Endlosschleife, vergessenes break, falsche Position der Prüfung.
Falle 1: Das break fehlt
Ohne break ist while True: eine echte Endlosschleife. In Pyodide
wird die Ausführung nach einer Weile automatisch gestoppt — in einem normalen Python-Skript
hängt das Programm dauerhaft.
Falle 2: Prüfung am falschen Ende
Setzt du das if … break vor deine eigentliche Arbeit, hast du wieder
eine kopfgesteuerte Schleife — der Block läuft dann vielleicht gar nicht.
Das ist der Bruch mit der do-while-Idee.
while True:
if abbruch:
break # ← prüfen zuerst → kopfgesteuert
arbeite()
while True:
arbeite()
if abbruch:
break # ← prüfen am Ende → fußgesteuert (do-while)
Falle 3: Bedingung wird im Block nie verändert
Die do-while-Logik bringt nichts, wenn sich der für die Abbruchbedingung relevante Wert nie
ändert. Stelle sicher, dass dein Block die Zählvariable, das Wort, das Passwort etc. so
anpasst, dass irgendwann break ausgelöst wird.
Beispiel 4.1 — falsche Position der Prüfung (zum Vergleich)
Python wird geladen…Prüfung
Quellen & weiterführende Literatur
Wo das hier vermittelte Wissen offiziell dokumentiert ist.
Offizielle Python-Dokumentation
- Python Language Reference — The
whilestatement: docs.python.org/3/reference/compound_stmts.html#the-while-statement - Python Tutorial — 4. More Control Flow Tools: docs.python.org/3/tutorial/controlflow.html
- Wikipedia — Do while loop (Konzept und Sprachvergleich): en.wikipedia.org/wiki/Do_while_loop
Tutorials & Lehrbücher
- Real Python — Python while Loops (Abschnitt zu
while True+break): realpython.com/python-while-loop - Theis, Thomas: Einstieg in Python. 7. Auflage, Rheinwerk Verlag, 2023 — Kapitel zu Schleifen.
- Klein, Bernd: Einführung in Python 3. 4. Auflage, Hanser Verlag, 2021 — Abschnitt „Schleifen".