CodeGym /Kurse /Python SELF DE /While-Schleife

While-Schleife

Python SELF DE
Level 4 , Lektion 3
Verfügbar

9.1 Bedingte Schleife

Eine Schleife for ist perfekt für Situationen, in denen wir genau wissen, wie oft wir den Block von Anweisungen unserer Schleife ausführen wollen. Aber das wird nicht immer der Fall sein. In etwa der Hälfte der Fälle muss der Block von Anweisungen ausgeführt werden, solange eine bestimmte Bedingung (Regel) wahr ist.

Genau dafür gibt es in Python die Schleife while. Ihr allgemeines Aussehen ist sogar noch einfacher als das einer for-Schleife:


while Bedingung:
    Anweisung1 
    Anweisung1 
    AnweisungN 

Die Schleife wird so lange ausgeführt, wie die Bedingung wahr ist.

Wichtig! Damit die Schleife nicht unendlich läuft, muss innerhalb des Blockes von Anweisungen etwas geschehen, das die Bedingung beeinflusst. Damit diese Bedingung irgendwann falsch werden kann und die Schleife endet.

Beispiel:

Beispiel Erklärung

count = 0
while count < 5:
    print(count)
    count += 1
Die Schleife gibt die Zahlen 0 1 2 3 4 auf dem Bildschirm aus

In einer Schleife while werden unendlich zwei Dinge ausgeführt:

  • Die Bedingung wird überprüft.
  • Der Block von Anweisungen wird ausgeführt.

Wenn die Bedingung wahr war, wird der Block von Anweisungen ausgeführt. Wenn die Bedingung falsch ist (auch wenn der Block von Anweisungen nie ausgeführt wurde), endet die Schleife.

Noch ein Beispiel einer Schleife while, kombiniert mit der Eingabe einer unbekannten Menge Daten durch den Benutzer:

Beispiel Erklärung

user_input = ""
while user_input != "exit":
    user_input = input("Gib 'exit' ein, um zu beenden: ")
    print(user_input)
Die Schleife wird alle eingegebenen Daten ausgeben, bis der Benutzer das Wort "exit" eingibt. Danach wird die Schleife es ausgeben und beendet werden.

9.2 Der Operator break

In Python wird der Operator break verwendet, um die Ausführung einer Schleife while oder einer Schleife for sofort zu beenden. Dieser Operator ist besonders nützlich in Situationen, in denen es notwendig ist, die Schleife vor ihrem normalen Abschluss durch eine Bedingung zu verlassen.

Der Einsatz von break erhöht die Flexibilität bei der Steuerung des Programmablaufes, da er die Reaktion auf dynamisch wechselnde Bedingungen während der Ausführung ermöglicht.

Grundlegender Einsatz:


for num in range(10):
    if num == 5:
        break  # Beendet die Schleife, sobald num 5 erreicht
    print(num)
        

In diesem Beispiel gibt die Schleife die Zahlen von 0 bis 4 aus. Sobald num 5 erreicht, wird die Schleife durch den Operator break unterbrochen.

Anwendung in Endlosschleifen:


while True:
    response = input("Gib 'exit' ein, um zu beenden: ")
    if response == 'exit':
        break              

Hier wird break verwendet, um eine Endlosschleife zu verlassen, wenn der Benutzer 'exit' eingibt.

Der Operator break wird auch oft verwendet, um die Ausführung verschachtelter Schleifen abzubrechen, Ausnahmesituationen zu behandeln, die eine sofortige Beendigung erfordern, sowie um Prozesse in Multi-Thread- oder Netzwerk-Anwendungen zu unterbrechen.

Zum Beispiel, in Such- oder Sortieraufgaben, bei denen nach dem Finden des gewünschten Elements eine weitere Ausführung der Schleife keinen Sinn mehr macht:


elements = [1, 2, 3, -99, 5]
# Suche nach dem ersten negativen Element
for element in elements:
    if element < 0:
        print("Negatives Element gefunden: ", element)
        break              

Best Practices umfassen die Verwendung von break mit Bedacht, um die Logik des Programms nicht zu komplizieren und es nicht schwer verständlich zu machen. Eine gute Praxis ist es, die Gründe für die Unterbrechung der Schleife zu kommentieren, insbesondere wenn sie aus dem Kontext nicht offensichtlich sind.

Der Einsatz von break sollte sinnvoll und zweckmäßig sein. Zum Beispiel um die Lesbarkeit und Effizienz des Codes zu verbessern und nicht einfach nur, um "die Logik zu brechen". Der effektive Einsatz dieses Operators kann die Leistung von Programmen erheblich verbessern, insbesondere bei Algorithmen mit rechenintensiven Aufgaben.

9.3 Der Operator continue

Der Operator continue in Python ist ein mächtiges Werkzeug zur Steuerung des Ablaufes von Schleifen. Er überspringt den restlichen Teil des Codes in der aktuellen Schleifeniteration und geht zur nächsten Iteration über. Dieser Operator wird oft in for und while Schleifen verwendet, um bestimmte Bedingungen zu überspringen, ohne die gesamte Schleife abzubrechen.

Grundlagen der Nutzung des Operators continue

So funktioniert continue in einer einfachen Schleife:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

In diesem Beispiel gibt die Schleife nur ungerade Zahlen von 1 bis 9 aus. Jedes Mal, wenn i gerade ist (durch 2 ohne Rest geteilt wird), wird der Operator continue ausgelöst, der die Funktion print() überspringt und zur nächsten Iteration übergeht.

Anwendung von continue in realen Szenarien

Datenfilterung: continue kann verwendet werden für die Vorfilterung von Daten vor der Ausführung komplexerer Operationen in der Schleife.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # Leere Strings überspringen
    print(fruit.capitalize())               

Überspringen spezifischer Bedingungen: Besonders nützlich in Situationen, in denen bestimmte Elemente basierend auf komplexen Bedingungen übersprungen werden sollen.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # Niedrige Punktzahlen überspringen
        print("Herzlichen Glückwunsch, Ihre Punktzahl: ", score)               

Der continue Operator in Python bietet eine elegante Möglichkeit, den Code zu vereinfachen und lesbarer zu machen, indem nicht relevante Elemente in den Iterationen übersprungen werden. Übermäßige Nutzung von continue kann es jedoch erschweren zu verstehen, welche Daten von der Schleife verarbeitet werden, besonders in komplexen Schleifen mit vielen Bedingungen. Ein vernünftiges Gleichgewicht ist wichtig.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION