Python while Schleife: Die Python while Loop im Detail!

    Avatarbild von Perica Glavas
    Perica Glavas

    veröffentlicht am: 14.04.2022
    zuletzt aktualisiert am: 02.02.2023

    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.

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

    • Der Schleifenkopf – der Teil der unsere zu prüfenden Bedingungen enthält
    • 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!

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "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

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig