Du liest:
Python while Schleife: Die Python while Loop im Detail!

Python while Schleife: Die Python while Loop im Detail!

von Pero
14.04.2022
Die Python while-Schleife im Überblick!

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.

  1. Die Python while Schleife
  2. Die Python for Schleife

Die sogenannte Python while Loop besteht dabei im Wesentlichen aus zwei Dingen.

  1. Der Schleifenkopf – der Teil der unsere zu prüfenden Bedingungen enthält
  2. Einem Codeblock, der pro Schleifendurchlauf ausgeführt werden soll. Dieser Teil der Schleife wird Schleifenkörper genannt.

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!

Die Python while Loop: Jeder Inhalt des Schleifenkörpers wird durch die Schleife wiederholt, bis die Bedingung nicht mehr true ist!

Die Verwendung der Python while Schleife (engl. Python while Loop)

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.

Die Ausgabe wird uns durch die richtige Verwendung der Python while Schleife ermöglicht

Die While-Schleife in Python mit einer if-Anweisung

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:

Im Gegensatz zu der for-Schleife und ähnlichen Bedingungen (bspw. i = 1) erhalten wir bei der while-Schleife eine andere Ausgabe!

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 while-Loop mit der else-Anweisung

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 wir ebendiese Schleife auch durch eine else-Anweisung erweitern!

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 while-Loop mit der break-Anweisung

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:

Verwendung der while-Schleife in Kombination mit break.

Die while-Schleife mit der continue-Anweisung

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 können die Python while-Schleife durch eine continue Anweisung erweitern!

Zusammenfassung: Die Python while-Schleife

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!

Programmieren lernen Banner

Starte deine Karriere als Softwareentwickler

Interaktiv Python, Java und C++ programmieren lernen

Jetzt loslegen


Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren

Arrow-up