Kurs
Die While-Schleife ähnelt einer if-Abfrage: Sie führt den enthaltenen Code aus, wenn die Bedingung True ist. Im Gegensatz zur if-Anweisung läuft die While-Schleife jedoch so lange weiter, wie die Bedingung True bleibt.
Die While-Schleife

Die Syntax der While-Schleife ist der von if sehr ähnlich, wie du oben siehst. While-Schleifen sind nicht in jeder Situation die erste Wahl, aber in bestimmten Fällen äußerst nützlich.
Beispiel
Angenommen, du berechnest ein Modell numerisch auf Basis deiner Daten. Dabei wiederholst du typischerweise dieselben Schritte, bis der Fehler zwischen Modell und Daten unter einem bestimmten Grenzwert liegt. Immer wenn du ein Problem als Wiederhole eine Aktion, bis eine Bedingung erfüllt ist formulieren kannst, ist eine While-Schleife oft die passende Lösung.
Im folgenden Beispiel startest du mit einem Fehler von 50.0. Als Nächstes schreibst du eine While-Schleife mit der Bedingung error > 1, sodass sie erneut ausgeführt wird, solange der Fehler größer als 1 ist. Innerhalb der Schleife teilst du den Fehler durch vier und aktualisierst die Variable. Beim ersten Durchlauf erhalten wir 12,5.

Python prüft danach mit dem neuen Fehlerwert 12,5 erneut die Schleifenbedingung. Die Bedingung ist wieder wahr und der Code wird ausgeführt.

Python springt erneut zur Bedingung zurück und versucht, den Code noch einmal auszuführen. Da 3,125 größer als 1 ist, wird die Berechnung durchgeführt.

Schließlich ist die neue Bedingung der While-Schleife kleiner als 1, daher endet die Ausführung und der Code läuft nicht weiter.

Dieses Beispiel ist praktisch, denn jetzt bist du dran, selbst eine while-Schleife zu schreiben! Wir implementieren eine einfache Regelung für ein invertiertes Pendel. Wenn es von der Senkrechten abweicht, korrigiert die while-Schleife diese Abweichung schrittweise.
Beachte: Wenn deine while-Schleife ungewöhnlich lange läuft, steckt vermutlich ein Fehler drin. Achte insbesondere darauf, den Inhalt der Schleife korrekt einzurücken!
Beispiel für einen While-Schleifenfehler (läuft endlos)
Wenn du das Aktualisieren des Fehlerwerts auskommentierst oder entfernst und das Skript neu startest, wird der Fehler nicht verändert und die Bedingung bleibt immer wahr. Die While-Schleife läuft dann endlos.

Passiert dir das, musst du das Python-Programm mit Strg + C abbrechen.
Beispiel
Im nächsten Beispiel legst du die Variable offset mit dem Anfangswert 8 an. Dann schreibst du eine while-Schleife, die so lange läuft, bis offset gleich 0 ist.
Innerhalb der while-Schleife:
- Gibst du den Text
"correcting..."aus. - Verringerst du anschließend
offsetum 1, zum Beispiel mitoffset = offset - 1. - Und zum Schluss gibst du
offsetaus, um die Änderung zu sehen.

Wenn wir das Programm ausführen, erhalten wir folgende Ausgabe:
correcting...
7
correcting...
6
correcting...
5
correcting...
4
correcting...
3
correcting...
2
correcting...
1
correcting...
0
Mehr zu While-Schleifen findest du in diesem Video aus unserem Kurs Intermediate Python.
Dieser Inhalt stammt aus dem DataCamp-Kurs Intermediate Python von Hugo Bowne-Anderson.
Schau dir auch unser Tutorial zu Schleifen in Python sowie das Tutorial Eine Do-While-Schleife in Python emulieren an, um weiterzulernen und Schleifen in Python zu üben.