Wie man prüft, ob eine Schleife in Python abgeschlossen ist

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie feststellen können, ob eine Schleife in Python abgeschlossen ist. Dies umfasst das Verständnis, wie for-Schleifen ausgeführt werden, und die Erkundung verschiedener Techniken, um den Abschluss einer Schleife zu verfolgen.

Sie beginnen mit der Untersuchung eines einfachen for-Schleifenbeispiels, indem Sie durch eine Liste von Früchten iterieren und jede einzelne ausgeben. Anschließend lernen Sie, wie Sie eine Flaggenvariable (Flag variable) verwenden, um den Fortschritt der Schleife zu überwachen. Schließlich entdecken Sie, wie Sie die else-Klausel in Verbindung mit Schleifen nutzen können, um Code nur auszuführen, nachdem die Schleife normal beendet wurde.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/break_continue("Break and Continue") python/DataStructuresGroup -.-> python/lists("Lists") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} python/conditional_statements -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} python/for_loops -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} python/break_continue -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} python/lists -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} python/data_collections -.-> lab-559538{{"Wie man prüft, ob eine Schleife in Python abgeschlossen ist"}} end

Lernen, wie Schleifen ausgeführt werden

In diesem Schritt lernen Sie, wie for-Schleifen in Python ausgeführt werden. Schleifen sind grundlegende Programmierkonstrukte, die es Ihnen ermöglichen, einen Codeblock mehrmals auszuführen. Das Verständnis, wie Schleifen funktionieren, ist entscheidend für das Schreiben effizienter und effektiver Programme.

Beginnen wir mit einem einfachen Beispiel. Erstellen Sie mit dem VS Code-Editor in Ihrem ~/project-Verzeichnis eine Datei namens loop_example.py.

## loop_example.py
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Dieser Code iteriert durch eine Liste von Früchten und gibt jede Frucht in der Konsole aus.

Um dieses Skript auszuführen, öffnen Sie das Terminal in VS Code und führen Sie den folgenden Befehl aus:

python loop_example.py

Sie sollten die folgende Ausgabe sehen:

apple
banana
cherry

Lassen Sie uns analysieren, was in dem Code passiert:

  1. fruits = ["apple", "banana", "cherry"]: Diese Zeile erstellt eine Liste namens fruits, die drei Strings enthält: "apple", "banana" und "cherry".
  2. for fruit in fruits:: Diese Zeile startet eine for-Schleife. Die Schleife iteriert über jedes Element in der fruits-Liste. In jeder Iteration wird das aktuelle Element der Variablen fruit zugewiesen.
  3. print(fruit): Diese Zeile befindet sich innerhalb der Schleife. Sie gibt den Wert der Variablen fruit in der Konsole aus.

Die Schleife wird dreimal ausgeführt, einmal für jede Frucht in der Liste. In der ersten Iteration ist fruit "apple", also wird "apple" ausgegeben. In der zweiten Iteration ist fruit "banana", also wird "banana" ausgegeben. In der dritten Iteration ist fruit "cherry", also wird "cherry" ausgegeben.

Jetzt ändern wir das Skript, um den Index jeder Frucht einzubeziehen. Ändern Sie die Datei loop_example.py wie folgt:

## loop_example.py
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

In diesem geänderten Code verwenden wir die enumerate()-Funktion, um sowohl den Index als auch den Wert jedes Elements in der Liste zu erhalten.

Führen Sie das Skript erneut aus:

python loop_example.py

Sie sollten die folgende Ausgabe sehen:

Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry

Die enumerate()-Funktion gibt eine Sequenz von (Index, Element)-Paaren zurück. In jeder Iteration wird der Index der Variablen index und das Element der Variablen fruit zugewiesen.

Das Verständnis, wie Schleifen ausgeführt werden, ist für das Schreiben von Programmen, die Datenmengen verarbeiten können, unerlässlich. In den nächsten Schritten lernen Sie fortgeschrittene Techniken zum Steuern der Ausführung von Schleifen kennen.

Setzen einer Flaggenvariable (Flag Variable) zur Verfolgung des Abschlusses

In diesem Schritt lernen Sie, wie Sie eine Flaggenvariable (Flag Variable) verwenden, um den Abschluss einer Aufgabe innerhalb einer Schleife zu verfolgen. Eine Flaggenvariable ist eine boolesche Variable (entweder True oder False), die angibt, ob eine bestimmte Bedingung erfüllt wurde. Dies ist eine gängige Technik zur Steuerung des Programmflusses.

Betrachten wir ein Szenario, in dem Sie nach einer bestimmten Zahl in einer Liste suchen und die Schleife beenden möchten, sobald Sie sie gefunden haben. Erstellen Sie mit dem VS Code-Editor in Ihrem ~/project-Verzeichnis eine Datei namens flag_example.py.

## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
found = False  ## Initialize the flag variable

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        found = True
        print(f"Found the target: {target}")
        break  ## Exit the loop

if found:
    print("Target found in the list.")
else:
    print("Target not found in the list.")

In diesem Code initialisieren wir eine Flaggenvariable namens found mit False. Die Schleife iteriert durch die numbers-Liste. Wenn die aktuelle Zahl gleich dem target ist, setzen wir found auf True, geben eine Nachricht aus und verlassen die Schleife mit der break-Anweisung. Nach der Schleife überprüfen wir den Wert von found. Wenn er True ist, geben wir eine Nachricht aus, die anzeigt, dass das Ziel gefunden wurde. Andernfalls geben wir eine Nachricht aus, die anzeigt, dass das Ziel nicht gefunden wurde.

Um dieses Skript auszuführen, öffnen Sie das Terminal in VS Code und führen Sie den folgenden Befehl aus:

python flag_example.py

Sie sollten die folgende Ausgabe sehen:

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
Target found in the list.

Beachten Sie, dass die Schleife stoppt, sobald die Zielzahl (5) gefunden wurde. Die break-Anweisung verlässt die Schleife und verhindert weitere Iterationen.

Jetzt ändern wir das Skript, um nach einer Zahl zu suchen, die nicht in der Liste ist. Ändern Sie die target-Variable auf 15:

## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
found = False  ## Initialize the flag variable

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        found = True
        print(f"Found the target: {target}")
        break  ## Exit the loop

if found:
    print("Target found in the list.")
else:
    print("Target not found in the list.")

Führen Sie das Skript erneut aus:

python flag_example.py

Sie sollten die folgende Ausgabe sehen:

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.

In diesem Fall iteriert die Schleife durch die gesamte Liste, ohne die Zielzahl zu finden. Die found-Variable bleibt False, und die Nachricht "Target not found in the list." wird ausgegeben.

Das Verwenden einer Flaggenvariable ist eine einfache und effektive Methode, um den Abschluss einer Aufgabe innerhalb einer Schleife zu verfolgen. Diese Technik ist in vielen verschiedenen Szenarien nützlich, wie z. B. beim Suchen eines Elements in einer Liste, der Validierung von Benutzereingaben oder der Verarbeitung von Daten aus einer Datei.

Verwenden der else-Klausel (else Clause) mit Schleifen

In diesem Schritt lernen Sie, wie Sie die else-Klausel (else Clause) mit for-Schleifen in Python verwenden. Die else-Klausel in einer for-Schleife wird ausgeführt, wenn die Schleife normal beendet wird, d. h., wenn die Schleife nicht durch eine break-Anweisung beendet wird. Dies kann nützlich sein, um Aktionen auszuführen, die nur ausgeführt werden sollen, wenn die Schleife ohne das Finden eines bestimmten Elements oder das Auftreten eines Fehlers abgeschlossen wird.

Lassen Sie uns das Beispiel aus dem vorherigen Schritt wiederholen, in dem wir nach einer Zielzahl in einer Liste gesucht haben. Wir können die else-Klausel verwenden, um eine Nachricht auszugeben, wenn die Zielzahl nicht gefunden wird. Erstellen Sie mit dem VS Code-Editor in Ihrem ~/project-Verzeichnis eine Datei namens else_example.py.

## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        print(f"Found the target: {target}")
        break
else:
    print("Target not found in the list.")

In diesem Code ist die else-Klausel der for-Schleife zugeordnet. Wenn die Schleife ohne das Finden des target abgeschlossen wird (d. h., die break-Anweisung wird nicht ausgeführt), wird der Code innerhalb der else-Klausel ausgeführt.

Um dieses Skript auszuführen, öffnen Sie das Terminal in VS Code und führen Sie den folgenden Befehl aus:

python else_example.py

Sie sollten die folgende Ausgabe sehen:

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.

Da die target-Zahl (15) nicht in der numbers-Liste enthalten ist, wird die Schleife normal beendet, und die else-Klausel wird ausgeführt, wodurch die Nachricht "Target not found in the list." ausgegeben wird.

Jetzt ändern wir das Skript, um die Zielzahl in die Liste aufzunehmen. Ändern Sie die target-Variable auf 5:

## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        print(f"Found the target: {target}")
        break
else:
    print("Target not found in the list.")

Führen Sie das Skript erneut aus:

python else_example.py

Sie sollten die folgende Ausgabe sehen:

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5

In diesem Fall wird die Schleife durch die break-Anweisung beendet, wenn die target-Zahl (5) gefunden wird. Daher wird die else-Klausel nicht ausgeführt.

Die else-Klausel in einer for-Schleife bietet eine kompakte Möglichkeit, Code auszuführen, wenn die Schleife normal beendet wird, ohne durch eine break-Anweisung unterbrochen zu werden. Dies kann nützlich sein, um Fälle zu behandeln, in denen Sie eine bestimmte Aktion nur ausführen müssen, wenn eine bestimmte Bedingung während der Ausführung der Schleife nicht erfüllt wird.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie for-Schleifen in Python funktionieren, indem Sie durch eine Liste von Früchten iteriert und jede Frucht zusammen mit ihrem Index ausgegeben haben. Das Lab hat die grundlegende Struktur einer for-Schleife gezeigt, einschließlich der Verwendung der enumerate()-Funktion, um sowohl den Index als auch den Wert jedes Elements in der Liste während der Iteration zuzugreifen.

Das erste Beispiel iterierte durch eine Liste von Früchten und gab jede Frucht aus. Die anschließende Modifikation verwendete enumerate(), um sowohl den Index als auch die Frucht auszugeben, was zeigt, wie man sowohl die Position als auch den Wert von Elementen innerhalb einer Schleife zugreifen kann.