while-Schleife
Mit der while-Schleife kannst du Code in Python so lange wiederholen, wie eine Bedingung wahr ist. So lassen sich Abläufe mehrfach ausführen, ohne denselben Code immer wieder neu zu schreiben.
Worum geht es in dieser Lektion?
Mit einer while-Schleife kannst du einen Codeblock mehrmals ausführen. Die Wiederholung läuft so lange, wie eine Bedingung True ist.
Das ist nützlich, wenn du noch nicht genau weißt, wie oft etwas wiederholt werden soll. Statt einer festen Anzahl von Durchläufen wird hier vor jedem Schleifendurchlauf eine Bedingung geprüft.
Allgemeiner Aufbau
Der allgemeine Aufbau sieht so aus:
while bedingung:
eingerückter Codeblock
Wie arbeitet eine while-Schleife?
Python prüft vor jedem Durchlauf, ob die Bedingung noch wahr ist. Nur dann wird der Code im Schleifenblock ausgeführt.
Ist die Bedingung nicht mehr erfüllt, endet die Schleife und das Programm läuft danach normal weiter.
Warum ist die Einrückung wichtig?
Wie bei if-Abfragen ist auch bei der while-Schleife die Einrückung ein wichtiger Teil der Syntax. Alle eingerückten Zeilen gehören zur Schleife und werden wiederholt ausgeführt.
Endlosschleifen
Ein typischer Fehler ist die sogenannte Endlosschleife. Das passiert, wenn die Bedingung immer wahr bleibt und sich im Schleifenblock nichts so verändert, dass die Schleife irgendwann enden kann.
Deshalb muss man bei while-Schleifen immer darauf achten, dass sich eine Variable verändert oder die Bedingung irgendwann falsch wird.
Warum sind while-Schleifen wichtig?
while-Schleifen sind eine wichtige Grundlage beim Programmieren. Sie helfen dir, wiederkehrende Abläufe sauber und übersichtlich zu lösen, ohne denselben Code mehrfach schreiben zu müssen.
Beispiel 1
Dieses Beispiel zeigt das Grundprinzip einer while-Schleife. Eine Variable wird schrittweise verändert, bis die Bedingung nicht mehr erfüllt ist.
zahl = 1
while zahl <= 5:
print(zahl)
zahl = zahl + 1
Beispiel 2
Hier siehst du eine typische Anwendung mit Rückwärtszählen. Die Schleife startet bei 10 und läuft so lange, bis die Zahl kleiner als 1 wird.
zahl = 10
while zahl >= 1:
print(zahl)
zahl = zahl - 1
Merksatz
Eine while-Schleife wiederholt Code so lange, wie eine Bedingung wahr ist. Damit die Schleife endet, muss sich im Schleifenblock etwas verändern.
Aufgabe
Schreibe ein Programm, das mit einer while-Schleife die Zahlen von 10 bis 1 ausgibt.
Tipp: Die Variable startet hier nicht bei 1, sondern bei 10. Überlege auch, wie sie in jeder Wiederholung verändert werden muss.