• Home
  • |
  • Blog
  • |
  • Python Tutorial [13/24] – Die Python while Schleife

Python Tutorial [13/24] – Die Python while Schleife

Zuletzt aktualisiert: Juni 26, 2023

Im heutigen Artikel werden wir uns die Python while Schleife genauer ansehen. In der Programmierung benötigt man oftmals eine Möglichkeit, gewisse Code-Blöcke mehrmals hintereinander zu wiederholen. Und genau für diesen Zweck kommen sogenannte Schleifen, wie etwa die while Schleife zum Einsatz, die du heute im Detail kennenlernen wirst.

Inhaltsverzeichnis

1. Was ist eine Schleife?

In den vergangenen Beiträgen haben wir uns bereits intensiv mit der if-Anweisung auseinandergesetzt, die zur Gruppe der Verzweigungen gehört. Neben den Verzweigungen gibt es allerdings noch eine weitere wichtige Art der Kontrollstrukturen: die Schleifen.

Doch was ist eigentlich eine Schleife? Eine Schleife ermöglicht es, gewisse Code-Blöcke beliebig oft zu wiederholen. Was das genau in der Praxis bedeutet, wirst du nun anhand eines Beispiels erfahren.

2. Der Aufbau einer Python while Schleife

Eine while-Schleife leitet man in Python zunächst mit dem Schlüsselwort „while“ ein. Wie bei der if-Anweisung folgt nun auch eine Bedingung und anschließend ein Doppelpunkt. Drücken wir jetzt die Enter-Taste, können wir feststellen, dass der Cursor genau wie bei der if-Anweisung, automatisch etwas eingerückt wird:

python while schleife beispiel 1

Alle Anweisungen, die wir jetzt eingerückt an dieser Stelle schreiben, gehören folglich zur while Schleife. In unserem Beispiel schreiben wir dort eine print-Anweisung mit dem Satz „Hier steht Code, der wiederholt ausgeführt werden soll“. Wir können in Python while Schleifen mit beliebig vielen Anweisungen verwenden.

python while schleife beispiel 2

Sehen wir uns das ganze Konstrukt einmal genauer an. Eine Schleife besteht immer aus dem sogenannten Schleifenkopf, welcher in diesem Fall durch das Schlüsselwort „while“ und der darauffolgenden Bedingung definiert wird. Auch bei der Schleifenbedingung ist es wieder wichtig, dass sich das Ergebnis der Bedingung als Wahrheitswert, also entweder als True oder False, interpretieren lässt. Typischerweise haben wir bei Schleifen wieder Vergleiche als Bedingung, die beliebig komplexer Natur sein können. Beispielsweise können diese mit zahlreichen logischen Operatoren verknüpft sein.

Unter dem Schleifenkopf befindet sich eingerückt der sogenannte Schleifenkörper, in welchem sich aktuell lediglich eine print-Anweisung befindet. Hier gilt, wie bei der bereits bekannten if Anweisung, dass der Block eingerückt sein muss und wir beliebig viele Anweisungen in den Schleifenkörper schreiben können.

3. Funktionsweise der Python while Schleife

Der Unterschied einer Python while Schleife im Vergleich zur if Anweisung ist nun der folgende: Die Bedingung entscheidet nicht, ob der Schleifenkörper ausgeführt wird, sondern wie oft dieser wiederholt hintereinander ausgeführt werden soll.

Eine while Schleife funktioniert nämlich folgendermaßen:

  1. 1
    Zuerst überprüft das Programm, ob die Bedingung der Schleife wahr ist. Im Falle unseres Beispiels also: Ist 5 kleiner als 10?
  2. 2
    Falls die Bedingung True ergibt, führt es den Schleifenkörper einmal ganz aus.
  3. 3
    Sobald es alle Anweisungen innerhalb des Schleifenkörpers abgearbeitet hat, prüft es erneut die Bedingung der Schleife.
  4. 4
    Ist die Bedingung nun immer noch True, führt das Programm den Schleifenkörper nochmals aus
  5. 5
    Nachdem er erneut ausgeführt wurde, prüft das Programm wieder die Schleifenbedingung und genauso wiederholt sich der ganze Prozess, bis die Bedingung in einem False resultiert und die Schleife somit beendet und nicht mehr ausgeführt wird

Nach Beendigung der Schleife geht es im Code ganz normal mit den nachfolgenden Zeilen weiter.

4. Die Gefahr der Endlosschleife

In unserem Beispiel lautet die Bedingung „5 < 10“. Da die 5 immer kleiner als die 10 ist, wird diese Bedingung konstant nur den Wahrheitswert True ergeben. Aus diesem Grund würde das Programm die Schleife unendlich oft ausführen. Wenn wir das Programm nun starten, erkennen wir die Endlosschleife auch bereits anhand der Ausgabe:

problem endlosschleife

Da wir nun eine Endlosschleife programmiert haben, müssen wir das Programm über das rote Quadrat manuell beenden. Anhand dieses Beispiels hast du nun einen Fall gesehen, wie er bei dir im Code in der Regel nicht aussehen sollte. Dadurch hängt sich das Programm nämlich auf, da es theoretisch für immer in der Schleife gefangen ist. Es gibt allerdings durchaus Fälle, in denen eine Endlosschleife Sinn machen kann, die für den Einstieg jedoch vorerst nicht relevant sind.

5. Praxisbeispiel einer while Schleife

Ändern wir nun also das Programm so, dass es nicht mehr in einer Endlosschleife resultiert.

Dafür definieren wir in Python vor der while Schleife zunächst eine Variable, die wir „counter“ nennen und als sogenannte Zählervariable verwenden. In die Variable counter speichern wir nun den Wert 5 hinein und tauschen den Wert 5 aus der Schleifenbedingung gegen unsere Variable aus.

Damit unsere Bedingung auch zu einem gewissen Zeitpunkt False ergeben kann, bauen wir im Schleifenkörper noch eine Anweisung ein, die den Inhalt der Variable counter verändert. Zum Beispiel in der Art, dass die Variable jeden Schleifendurchlauf um 1 erhöht wird.

while schleife praxisbeispiel

Wenn wir das Programm ausführen, sehen wir, dass das Programm nach fünf Durchläufen selbst beendet wird:

ausgabe python while schleife

Aber was genau ist im Code passiert? Zu Beginn enthält die Variable noch den Wert 5, den wir ihr zugewiesen haben. Das bedeutet, im Schleifenkopf wird überprüft, ob 5 kleiner ist als 10 und da dies zutrifft, führt das Programm die Anweisungen der Schleife aus. Es gibt also die print-Anweisung aus und erhöht die Variable counter um 1.

Im nächsten Schritt springt das Programm wieder zurück in den Schleifenkopf und überprüft nun, ob 6 kleiner ist als 10, da die Variable counter schließlich um eins erhöht wurde. Da diese Bedingung wieder True ergibt, gibt das Programm erneut die print-Anweisung aus und erhöht die Variable counter um 1.

Genauso wird der Prozess fortgesetzt, bis die Variable schließlich den Wert 10 enthält. Da 10 nicht kleiner als 10 ist und somit den Wert False zurückliefert, führt das Programm die Anweisungen der Schleife nicht mehr aus und verlässt diese. Da nach der Schleife keine weiteren Codezeilen folgen, wird das Programm beendet.

Zusammenfassend können wir die Python while Schleife wie folgt beschreiben:

  • Die while Schleife besteht aus zwei Teilen: dem Schleifenkopf und dem Schleifenkörper
  • Im Schleifenkopf befindet sich das Schlüsselwort „while“, das die Schleife einleitet, gefolgt von der Bedingung und einem abschließenden Doppelpunkt
  • Im Schleifenkörper können beliebig viele Anweisungen stehen
  • Der Schleifenkörper wird wiederholt solange hintereinander ausgeführt, bis die Bedingung False ergibt
  • Sollte die Bedingung von Beginn an False sein, wird der Schleifenblock gar nicht ausgeführt
  • Ergibt die Bedingung hingegen dreimal hintereinander True, wird der Schleifenblock dreimal hintereinander ausgeführt

An dieser Stelle hast du nun auch selbst die Möglichkeit, in Python while Schleifen zu erstellen und sie in deinen persönlichen Projekten zum Einsatz zu bringen!