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…
Ausgabe

    

Modul 2 — Das Python-Muster im Detail

while True + break am Blockende.

Aufbau Schritt für Schritt

  1. Schreibe while True: — die Schleife läuft ohne Vorabprüfung an.
  2. Setze deine eigentliche Arbeit in den Block: Ausgaben, Berechnungen, Zählvariablen verändern.
  3. 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…
Ausgabe

    

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…
Ausgabe

    

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…
Ausgabe

    

Beispiel 3.2 — Passwort-Test

Python wird geladen…
Ausgabe

    

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…
Ausgabe

    

Quellen & weiterführende Literatur

Wo das hier vermittelte Wissen offiziell dokumentiert ist.

Offizielle Python-Dokumentation

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".