Modul 1 — Was ist eine while-Schleife?
Wiederhole einen Codeblock, solange eine Bedingung wahr ist.
Begriff
Eine while-Schleife wiederholt einen eingerückten Codeblock so lange,
wie eine Bedingung den Wert True liefert. Python wertet die Bedingung
vor jedem Durchlauf aus — ist sie schon zu Beginn False,
wird der Block kein einziges Mal ausgeführt.
Syntax:
while <Bedingung>:
<Anweisungen>
Damit die Schleife endet, muss sich im Block selbst etwas ändern, das die
Bedingung irgendwann auf False setzt. Das ist meistens eine Zählvariable.
Beispiel 1.1 — eine Bedingung, die irgendwann False wird
Python wird geladen…Prüfung
Modul 2 — Zählschleifen
Hochzählen, runterzählen, in Schritten zählen.
Hoch- und runterzählen
Die typische Zählschleife hat drei Bestandteile:
- einen Startwert vor der Schleife (
zahl = 1), - eine Bedingung, die einen Endwert prüft (
zahl <= 5), - eine Veränderung der Zählvariable im Block (
zahl = zahl + 1).
Fehlt der dritte Schritt, ändert sich die Bedingung nie — die Schleife läuft endlos.
In den ersten Aufgaben liest du den Start- oder Endwert mit input() ein (aus dem
Modul „Variablen" bekannt); die Prüfung speist die Eingaben automatisch ein, du musst selbst
nichts eintippen. In den letzten beiden Aufgaben liest du dagegen nichts ein, sondern
legst den Wert selbst fest (z. B. n = 10) und lässt die
Schleife über diesen selbst gewählten Bereich laufen.
Beispiel 2.1 — von 1 bis 5 hochzählen
Python wird geladen…Prüfung
Beispiel 2.2 — von 3 bis 0 runterzählen
Python wird geladen…Prüfung
Modul 3 — Akkumulator-Pattern
Werte in einer Variablen ansammeln.
Idee
Sehr oft brauchst du in einer Schleife eine zweite Variable, die
außerhalb der Schleife mit 0 oder "" initialisiert wird
und im Block bei jedem Durchlauf erweitert wird. Dieses Muster nennt sich
Akkumulator — typisch für Summen, Produkte oder Texte.
Beispiel 3.1 — Summe von 1 bis 5
Python wird geladen…Prüfung
Verwandtes Muster: bis eine Grenze erreicht ist
Eine Schleife muss nicht in festen Schritten zählen. Sie kann auch solange laufen, bis eine Variable eine Grenze überschreitet — hier wächst dieselbe Variable, die die Bedingung prüft, im Block (z. B. durch Verdoppeln). Das ist kein Akkumulator (es gibt keine zweite, ansammelnde Variable), sondern eine wachsende Zählvariable. Genau dieses Muster brauchst du später in der Aufgabe „Verdoppeln".
Beispiel 3.2 — verdoppeln bis > 50
Python wird geladen…Prüfung
Modul 4 — Abbruch & Endlosschleife
Wann break? Und wie vermeidet man while True-Fallen?
Die häufigste Falle
Eine Schleife läuft endlos, wenn ihre Bedingung nie False wird. Typische
Ursachen: Du erhöhst die Zählvariable nicht, du erhöhst die falsche Variable, oder die
Bedingung kann logisch nie eintreten. Wenn dein Programm hängt, ist meistens
eine while-Schleife schuld.
break — die Notbremse
Manchmal ist die Abbruchbedingung erst mitten im Block bekannt. Dann kannst du
mit break die Schleife sofort verlassen. break beendet immer nur
die innerste Schleife.
break wird hier nur als Konzept eingeführt — in den sechs Aufgaben dieses Versuchs
brauchst du es bewusst nicht. Es ist aber gut, das Werkzeug schon einmal gesehen zu haben.
Beispiel 4.1 — break als gezielter Abbruch
Python wird geladen…Prüfung
TippStrategie beim Schreiben
Schreibe zuerst die Bedingung hin und überlege, was passieren muss,
damit sie False wird. Erst dann den Block. Wenn du nach 3 Sekunden im
Editor nichts mehr siehst — keine Panik, die Ausführung wird automatisch nach einer
Weile gestoppt.
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
Tutorials & Lehrbücher
- Real Python — Python while Loops: 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".