veröffentlicht am: 14.04.2022 zuletzt aktualisiert am: 02.02.2023
In diesem Tutorial wollen wir das Konzept der Python while Schleife kennenlernen.
Schleifen werden verwendet, um eine bestimmte Sequenz in einer festgelegten Weise durchzulaufen. Verschiedene Programmiersprachen bieten unterschiedliche Strategien, Funktionen und Pakete, die für Schleifen verwendet werden können. Das ist einer der wichtigsten Aspekte beim Versuch, Programmierer/in zu werden. Qualitätssicherungsingenieure, Computeringenieure, Softwareentwickler, Backend-Entwickler und Ingenieure für maschinelles Lernen sind nur einige Beispiele für Menschen, die solche Techniken nutzen, um effiziente Geschäftsstrategien zu planen und zu entwickeln.
Es gibt zwei primitive und weit verbreitete Arten von Schleifen, die bei der Arbeit in verschiedenen Programmiersprachen verwendet werden. Diese können wie folgt aufgeteilt werden.
Die sogenannte Python while Loop besteht dabei im Wesentlichen aus zwei Dingen.
Die Basisbedingung löst, wenn sie erfüllt ist, den darauffolgenden Code oder Codeblock aus, der ausgeführt werden soll. Diese Bedingung wird anhand eines booleschen Wertes ausgewertet, damit der dazugehörige Codeblock ausgeführt werden kann. Wenn die in der Schleife angegebene Bedingung True ist, wird der Codeblock innerhalb der Schleife ausgeführt. Ist die Bedingung „Falsch“, wird der Codeblock übersprungen und die Schleife beendet.
Verschiedene Anweisungen können auch zusammen mit einer while-Schleife verwendet werden, um die mit dem Codeblock innerhalb der Schleife verbundene Logik zu optimieren. Dazu aber später mehr!
Versuchen wir nun, die while-Schleife genauer zu verstehen.
Wie bereits erwähnt, funktioniert eine Schleife hauptsächlich auf der Grundlage einer Bedingung. Eine while-Schleife arbeitet nach dem Kriterium, dass eine bestimmte Bedingung wahr oder falsch ist. Einfacher ausgedrückt: Sie läuft so lange weiter, bis eine bestimmte Bedingung nicht mehr erfüllt ist, beziehungsweise solange eine Bedingung wahr ist. Versuchen wir, das mit Hilfe eines Pseudocodes zu verstehen. Sieh dir dazu den folgenden Codeblock an:
# Anfang der while-Schleife while bedingung == True: mach was den Bedingungswert modifizieren # Ende der while-Schleife
Wie wir im obigen Codeblock sehen können, tun wir etwas, solang die Bedingung True ist. Wenn der Vergleichswert der zur Bedingung gehört so aktualisiert wird, dass der Vergleich als Ergebnis false liefert, wird unsere while-Schleife beendet.
Nach jeder Iteration wird die Bedingung der while-Schleife überprüft und aktualisiert. Dies ist äußerst wichtig und muss vom Qualitätssicherungsteam auch bei den Unit-Tests überprüft werden. Ohne diese Bedingungsaktualisierung besteht zwangsläufig die Möglichkeit, dass eine Endlosschleife entsteht. Dies würde dazu führen, dass dein gesamtes Programm in einer Produktionsumgebung zusammenbricht.
Hinweis: In Python wird davon ausgegangen, dass der Wert 0 für False und 1 oder ein anderer Wert ungleich 0 für True steht.
Wir können unsere while-Schleife in Python zudem auf folgende Weise strukturieren:
# Anfang der while-Schleife while condition == 0: # Beispiel: Vergleich ergibt false mach was den Bedingungswert modifizieren # Ende der while-Schleife ## ODER # Anfang der while-Schleife while not condition: # Beispiel: Vergleich ergibt false mach was den Bedingungswert modifizieren # Ende der while-Schleife ## ODER # Anfang der while-Schleife while condition == 1: # Beispiel: Vergleich ergibt true mach was den Bedingungswert modifizieren # Ende der while-Schleife ## ODER # Anfang der while-Schleife while condition: # Beispiel: Vergleich ergibt true mach was den Bedingungswert modifizieren # Ende der while-Schleife
Nachdem wir nun die grundlegende Struktur und den Pseudocode einer while-Schleife verstanden haben, wollen wir nun versuchen, diese Schleifen in Python zu implementieren. Nehmen wir zum Beispiel an, dass wir versuchen, die Summe aller Zahlen von 1 bis 10 zu berechnen, indem wir ebendiese mit einander multiplizieren. Im Grunde genommen versuchen wir, den Wert von 1* 2 3 ….10 zu berechnen. Das kann mit Hilfe von Python Schleifen geschehen. Schauen wir uns nun an, wie wir dies in Python mit Hilfe einer while-Schleife umsetzen können.
# Variablen nummer & insgesamt erstellen nummer = 1 insgesamt = 1 while nummer != 10: # Unsere Schleifenbedingung insgesamt = insgesamt * nummer # Die Berechnung nummer += 1 # die Variable nummer um eins erhöhen, um eine Endlosschleife zu vermeiden print("Unser Ergebnis ist: ", insgesamt) # Uns das Ergebnis auf der Konsole ausgeben lassen
Im obigen Codeblock steht die Variable nummer für die aktuelle Zahl, bei der wir uns in dem jeweiligen Schleifendurchlauf gerade befinden. Außerdem steht die Variable insgesamt für die multiplikative Summe aller Zahlen, die innerhalb der while-Schleife berechnet werden.
Hinweis: Es ist wichtig zu beachten, dass die Anweisung num += 1 dafür steht, dass der Wert von num bei jeder Iteration der while-Schleife aktualisiert wird. Ohne diese Codezeile würden wir in einer Endlosschleife stecken bleiben.
Der oben genannte Codeblock würde uns also helfen, um die folgende Ausgabe zu realisieren.
Lass uns mit einem anderen Beispiel arbeiten. Diesmal wollen wir unsere while-Schleife laufen lassen und unsere Bedingung mit Hilfe einer if-Anweisung innerhalb der Schleife aktualisieren. Versuchen wir, den gleichen Vorgang wie in unserem ersten Beispiel auszuführen. Allerdings wollen wir die Bedingung beenden, sobald die Zahl 6 erreicht ist. Das können wir mit Hilfe des folgenden Codes erreichen.
# Variablen nummer, insgesamt & boolean erstellen nummer = 1 insgesamt = 1 boolean = True while boolean: # Bedingung, ist immer True insgesamt = insgesamt * nummer # Die Berechnung nummer += 1 if nummer == 6: boolean = False # Unseren Bedingungswert aktualisieren, um die Schleife bei der Nummer 6 zu beenden print("Unser Ergebnis ist: ", insgesamt) # Ausgabe auf der Antwort auf der Konsole
Wenn wir die oben genannten Codeblöcke vergleichen, können wir sehen, dass die Aktualisierungsbedingung jetzt geändert wurde. Unsere while-Schleife läuft so lange, wie die Variable boolean True bleibt. Sobald der Wert der Variable boolean False wird, wenn die Variable nummer den Wert 6 erreicht, bricht die while-Schleife ihre Ausführung ab und der Schleifenkörper wird nicht mehr ausgeführt. Dies zeigt, wie eine if-Anweisung in eine while-Schleife integriert werden kann.
Die Ausgabe des oben genanten Codes ergibt folgendes:
Hier hört es nicht auf! Es ist interessant zu wissen, dass eine while-Schleife in Python durch die Anweisungen else, break und continue ergänzt werden kann. Wir wollen nun versuchen, die Anwendungen dieser Anweisungen innerhalb der while-Schleife mit Hilfe geeigneter Beispiele zu lernen.
Die Python else-Anweisung wird in der Regel zusammen mit einer if-Anweisung verwendet, um mit der entgegengesetzten Bedingung zu arbeiten, die in der if-Anweisung behandelt wird. Python gibt uns jedoch auch die Möglichkeit die continue Anweisung innerhalb einer Python Schleife zu verwenden. Die Verwendung kann mit Hilfe des folgenden Codes verstanden werden.
# Anfang der while-Schleife while bedingung: # Beispiel, ergibt true mach was den Bedingungswert modifizieren else: mach was anderes # Ende der while-Schleife
Versuchen wir nun, die gleiche Anweisung wie mit der if-Anweisung in einer Python while Schleife durchzuführen. Jetzt wollen wir jedoch mit einer else-Anweisung angeben, dass unsere Variable nummer nicht mehr kleiner als 6 ist. Schauen wir uns nun folgenden Code an, um zu lernen wie wir ebendieses realisieren können.
# Variablen nummer, insgesamt & boolean erstellen nummer = 1 insgesamt = 1 boolean = True while nummer < 6: # Bedingung, prüft ob nummer kleiner als 6 ist insgesamt = insgesamt * nummer # Die Berechnung durchführen nummer += 1 else: # Das else-Statement print("nummer ist nicht mehr kleiner als 6") print("Unser Ergebnis ist: ", insgesamt) # Ausgabe des Ergebnisses auf der Konsole
Der Code zeigt also wie wir unsere Python while Schleife durch die else-Anweisung ergänzen können. Dabei gibt das Programm den folgenden Text auf der Konsole aus:
Wie wir sehen können, wird die nummer ist nicht mehr kleiner als 6 ausgegeben, wenn unser Code die else-Anweisung erreicht. Der Gesamtwert ist dabei wie erwartet 120 (1 2 3 4 5). Daraus können wir schließen, dass unsere Python while Schleife so lange ausgeführt wird, bis die Bedingung erfüllt ist, und sobald die Bedingung nicht mehr gültig ist, führen wir den Code in der else-Anweisung aus.
Die Python break-Anweisung ist wichtig, wenn du in Python mit Schleifen arbeitest. Wie der Name schon sagt, hilft sie dabei, die Schleife oder auch die äußere Schleife zu unterbrechen, wenn eine bestimmte Bedingung erfüllt ist. Diese Bedingung wird normalerweise mit Hilfe einer if-Anweisung überprüft. Schauen wir uns dafür folgenden Pseudocode an.
# Anfang der while-Schleife while bedingung: # Beispiel, resultiert in True mach was bedingung aktualisieren if not zweite_bedingung: break # Ende der while-Schleife
Wie wir sehen können, sind wir mit Hilfe von break in der Lage unsere Schleife auf Kommando zu verlassen. Lass uns nun unser bisheriges Beispiel durch die Verwendung der break-Anweisung erweitern!
# Variablen nummer, insgesamt & boolean erstellen nummer = 1 insgesamt = 1 boolean = True while nummer < 6: # Bedingung, prüft ob nummer kleiner als 6 ist insgesamt = insgesamt * nummer # Die Berechnung durchführen nummer += 1 if nummer >= 6: break print("Unser Ergebnis ist: ", insgesamt) # Ausgabe des Ergebnisses auf der Konsole
Wie wir sehen, haben wir die Break-Anweisung mit dem if-Block so verwendet, dass unsere Schleife immer dann unterbrochen oder beendet wird, wenn die Variable nummer 6 oder mehr erreicht. Der Grund dafür ist die Break-Anweisung.
Als Resultat unseres Codes erhalten wir folgende Ausgabe auf der Konsole:
Die Python continue-Anweisung wird verwendet, um eine bestimmte Iteration in der Python while Schleife zu überspringen, wenn eine bestimmte Bedingung erfüllt ist. Dies lässt sich mit Hilfe des folgenden Pseudocodes nachvollziehen.
# Anfang der while-Schleife while bedingung: # Beispiel, resultiert in True mach was Bedingungswert aktualisieren if bedingung_zwei: continue # Ende der while-Schleife
Wie wir sehen können, wird die continue-Anweisung genau wie die break-Anweisung durch eine if-Anweisung ergänzt. Dadurch können wir einige Iterationen in unserer while-Schleife überspringen. Versuchen wir, diese Kombination so einzusetzen, dass die aktuelle Iteration übersprungen wird, sobald die Variable nummer einen Wert von 6 oder höher erreicht. Dies kann mit Hilfe des folgenden Codes erreicht werden.
# Variablen nummer, insgesamt & boolean erstellen nummer = 1 insgesamt = 1 boolean = True while nummer < 6: # Bedingung, prüft ob nummer kleiner als 6 ist insgesamt = insgesamt * nummer # Die Berechnung durchführen nummer += 1 if nummer >= 6: continue print("Unser Ergebnis ist: ", insgesamt) # Ausgabe des Ergebnisses auf der Konsole
Nun haben wir also das Schlüsselwort break verwendet, um die Iteration immer dann zu überspringen, wenn der Wert nummer größer als 6 wird.
Hinweis: Aus Performancegründen wäre die Verwendung der break-Anweisung besser, da die Schleife direkt beendet wird, sobald nummer den Wert 6 erreicht.
Das Resultat des Codebeispiels wäre folgende Ausgabe auf der Konsole:
Wir haben also kurz die Funktionsweise der while-Schleife in Python und ihre Kombination mit verschiedenen Anweisungen und Schlüsselwörtern kennengelernt. Bei der Arbeit mit Python while-Schleifen muss ein Programmierer die Abbruchbedingung und die Aktualisierungsanweisungen genau verstehen, um größere Probleme wie eine Endlosschleife zu vermeiden. Die Anwendungsfälle für diese Art von Schleifen sind sehr vielfältig und können in nahezu jeder Anwendung eingesetzt werden. Lerne nun wie du eine Python do-while Schleife implementieren kannst!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig