Python While-Schleife – Ein Tutorial

Python While Schleife – Ein Tutorial

Hast du schon einmal von der Python while-Schleife gehört? Schleifen sind grundlegendes Konzept beim Coden und ermöglichen Wiederholungen. Die while-Schleife ist die einfachste Form davon. In diesem Artikel schauen wir uns die while-Schleife genauer an.

Ausführung von Wiederholungen mit Python while-Schleifen

Die Idee hinter der Python while-Schleife ist, dass sie eine oder mehrere Anweisungen so oft ausführt, bis eine bestimmte Bedingung erfüllt ist. Erst dann wird die Schleife abgebrochen. Diese Bedingung wird Abbruchbedingung genannt. Wie in anderen Programmiersprachen gibt es auch in Python verschiedene Arten von Schleifen. Du hast vielleicht bereits von der Python For-Schleife gehört. Der Aufbau der while-Schleife ist jedoch einfacher, wie du im folgenden Code sehen kannst:

Abb. 1: Mit der Python while-Schleife von 1 bis 100 zählen

In diesem Beispiel wird von eins bis 100 gezählt und der aktuelle Stand ausgegeben. Die Variable i wird zu Beginn auf den Startwert eins gesetzt. Im Schleifenkopf, also dem Teil nach dem while, wird die Abbruchbedingung festgelegt: i <= 100. Die while-Schleife wiederholt sich solange, wie i kleiner oder gleich 100 ist.

Die beiden eingerückten Zeilen darunter sind der Schleifenkörper und werden bei jeder Wiederholung ausgeführt. Die Variable i wird in der letzten Zeile um eins erhöht. Es funktioniert übrigens auch, wenn du die Python Variablen anders benennst. Das i stammt aus der Mathematik. Es ist jedoch empfehlenswert, aussagekräftige Namen für die Variable zu verwenden. Erst wenn die Bedingung erfüllt ist, wird die Zeile mit print() ausgeführt. Weitere Informationen zu diesem Thema findest du auf der Seite der Universität Paderborn.

LESEN  E-Foil Kaufberatung & Vergleich – Dein ultimativer Leitfaden für die richtige Wahl

While-Schleife in Python: Break und Continue

Normalerweise läuft die Python while-Schleife solange, bis die Abbruchbedingung erfüllt ist. Allerdings gibt es zwei Möglichkeiten, die Schleife vorzeitig zu beenden: break und continue. Mit dem Schlüsselwort break kann die Schleife beendet werden, meist in Verbindung mit der Überprüfung einer weiteren Bedingung. Es macht wenig Sinn, break ohne Bedingung zu verwenden, da die Schleife dann komplett weggelassen werden könnte.

Im folgenden Beispiel soll der Benutzer eine Zufallszahl zwischen 1 und 10 erraten. Er hat dazu fünf Versuche, die mit Hilfe einer Schleife programmiert wurden. Wenn er die richtige Zahl rät, wird die Wiederholung mit break abgebrochen und das Programm endet vorzeitig. Andernfalls wird die Variable versuche um 1 erhöht und es geht mit dem nächsten Durchlauf weiter:

Abb. 2: Die Einrückungen dienen bei der Python while-Schleife einer bestimmten Funktion

Achte beim Nachvollziehen des Beispiels genau auf die Einrückungen. Wie verändert sich die Logik des Programms, wenn du die letzte Zeile, zusammen mit dem darüberliegenden break, einrückst? Eine ähnliche Funktion wie break erfüllt das Schlüsselwort continue. Es bricht die Schleife nicht komplett ab, sondern macht mit dem nächsten Durchgang weiter. Der Code, der nach dem continue steht, wird also nicht mehr ausgeführt.

Schleifen in Schleifen

Wenn die Schleifen verschachtelt sind, also eine Schleife in einer anderen enthalten ist, wird es etwas knifflig mit break und continue. Schauen wir uns dazu das folgende Beispiel an:

Abb. 3: In diesem Beispiel wird eine fünffache Wiederholung ausgeführt

Hier wird fünfmal bis 10 gezählt. Die äußere Schleife, mit der Zählvariable x, ermöglicht die fünffache Wiederholung. Die innere Schleife, mit der Zählvariable y, zählt von eins bis 10. Ein break oder continue in der inneren Schleife wirkt sich nur auf diese aus. Wenn break verwendet wird, setzt die äußere Schleife mit dem nächsten Durchgang fort. Die innere Schleife wird abgebrochen. Erst ein break im Wirkungsbereich der äußeren Schleife würde diese ebenfalls beenden. Das mag zwar kompliziert klingen, aber es lohnt sich, dies im Debugger der Python IDLE oder der Entwicklungsumgebung Thonny auszuprobieren, um das Prinzip des Codings besser zu verstehen.

LESEN  Wie man Google Chrome von Gerät entfernt

Eine Alternative: else

Wenn du dich bereits mit Bedingungen beschäftigt hast, kennst du das Schlüsselwort else. Mit else kannst du einen alternativen Weg beschreiten, falls eine Bedingung nicht erfüllt ist. In Python gibt es auch ein else für die while-Schleife. Das ist eine Besonderheit, die es in anderen Programmiersprachen nicht gibt. Mit else lässt sich, ähnlich wie bei der if-Bedingung, eine Alternative formulieren, falls die Bedingung hinter while nicht mehr erfüllt ist. Das folgende Beispiel zeigt dies:

Abb. 4: else bei while-Schleifen in Python

Es wird die Variable i hochgezählt, solange i <= 100 ist. Wenn i nicht mehr <= 100 ist, wird der else-Zweig ausgeführt. Wichtig ist zu verstehen, dass dies nicht dasselbe ist wie das print ohne Einrückung nach der Schleife. In diesem Beispiel ist die Ausgabe zwar die gleiche, aber es kann auch anders sein. Wenn beispielsweise nach dem Hochzählen (i = i + 1) ein break verwendet wird, wird der else-Zweig nicht ausgeführt. Das print ohne Einrückung wird jedoch auf jeden Fall ausgeführt. Wenn du dies ausprobieren möchtest, kannst du Python-Kommentare verwenden, indem du die Zeile mit break auskommentierst.

Endlosschleifen erstellen

Kommen wir nun zur Endlosschleife. Das ist eine Schleife ohne Abbruchbedingung, die sich einfach immer weiter wiederholt, solange das Programm läuft. Das folgende Beispiel zählt die Variable i fortlaufend hoch:

Abb. 6: Die Python while-Schleife als Endlosschleife

In der Entwicklungsumgebung Thonny gibt es einen Stop-Button, um das Programm zu beenden. In der Python-Entwicklungsumgebung IDLE hilft hingegen der Menüpunkt “Shell” > “Interrupt Execution”.

Die Idee einer Endlosschleife mag zunächst merkwürdig klingen, kann aber Sinn machen. Stell dir vor, du möchtest eine Server-Anwendung programmieren, die eingehende Anfragen aufzeichnet. Der einfachste Weg, dies zu realisieren, besteht darin, den Code in eine Endlosschleife zu packen. Dadurch kannst du regelmäßig prüfen, ob Anfragen eingehen. Auf ähnliche Weise kannst du Eingaben von der Tastatur lesen, bis ein vereinbartes Abbruchzeichen erscheint. Im folgenden Beispiel werden Zeichen von der Standardeingabe (sys.stdin) eingelesen und in der Variable text aneinandergehängt, bis die Eingabetaste gedrückt wird. Dies wird im Programm durch ein Newline-Zeichen (n) erkannt. Wenn es auftritt, wird die Endlosschleife mit break abgebrochen. Es ist zu beachten, dass Endlosschleifen den Prozessor belasten. Daher sollte man dem Prozessor mit time.sleep() kleine Pausen gönnen, um ihn nicht ständig unter hoher Last arbeiten zu lassen.

LESEN  Wie man Grabsteine richtig reinigt

Damit haben wir das Wichtigste zur Python while-Schleife besprochen. Wenn etwas nicht wie erwartet funktioniert, kann es hilfreich sein, den Debugger in IDLE oder Thonny zu verwenden, um den Code Schritt für Schritt zu überprüfen. So lassen sich unerwartete Sprünge und Werte der Zählvariablen erkennen. Wenn du mehr über Python lernen möchtest, schau in unserem Wissensmagazin vorbei. Dort findest du viele Tutorials, die dir helfen, mit dieser Coding-Sprache einzusteigen.

FAQs – Python while-Schleife