PCEP-30-02 1.0 – Computerprogrammierung und Grundlagen von Python (18 %)
PCEP-30-02 1.1 - Grundlegende Begriffe und Definitionen verstehen
PCEP-30-02 1.2 – Logik und Struktur von Python verstehen
PCEP-30-02 1.3 – Literale und Variablen in Code einführen und verschiedene Zahlensysteme nutzen
PCEP-30-02 1.4 – Operatoren und Datentypen passend zum Problem wählen
PCEP-30-02 1.5 – Eingabe-/Ausgabe-Operationen in der Konsole durchführen
PCEP-30-02 2.0 – Kontrollfluss – Bedingte Blöcke und Schleifen (29%)
PCEP-30-02 2.1 – Entscheidungen treffen und den Programmfluss mit „if“ steuern
PCEP-30-02 3.0 – Datenkollektionen – Tupel, Dictionaries, Listen und Strings (25%)
PCEP-30-02 3.1 – Daten mit Listen sammeln und verarbeiten
PCEP-30-02 3.3 – Daten mit Dictionaries sammeln und verarbeiten
PCEP-30-02 3.4 – Mit Strings arbeiten
PCEP-30-02 4.0 – Funktionen und Ausnahmen (28%)
PCEP-30-02 4.3 – Python Built-In Exceptions Hierarchie
PCEP-30-02 4.4 – Grundlagen der Fehlerbehandlung in Python

Python: „while“-Schleife

Die while-Schleife ist eine fundamentale Kontrollstruktur in Python, die es ermöglicht, einen bestimmten Codeblock auszuführen, solange eine definierte Bedingung True bleibt. Sie ist besonders praktisch in Szenarien, in denen die Anzahl der Iterationen vorab nicht bekannt ist, da der Code solange wiederholt wird, wie die Bedingung erfüllt ist.

Hier gehen wir detailliert auf die Funktionsweise der while-Schleife in Python ein, einschließlich ihrer Struktur, praktischer Anwendungsbeispiele sowie der speziellen Schlüsselwörter break und continue.


Inhalt

  1. Was ist eine while-Schleife?
  2. Syntax der while-Schleife
  3. Grundlagen anhand eines Beispiels
  4. Einführung der Bedingung für das Beenden der Schleife
  5. Verwendung von break in der while-Schleife
  6. Verwendung von continue in der while-Schleife
  7. Häufige Fehler und wie man sie vermeidet
  8. Fazit und Zusammenfassung

1. Was ist eine while-Schleife?

Die while-Schleife wiederholt sich, solange eine bestimmte Bedingung als True ausgewertet wird. Im Gegensatz zur for-Schleife, bei der die Anzahl der Iterationen oft im Voraus festgelegt ist, eignet sich die while-Schleife besonders gut für Szenarien, bei denen Wiederholungen von der Laufzeit abhängen. Mit anderen Worten, die Anzahl der Iterationen wird dynamisch gesteuert.


2. Syntax der while-Schleife

Die while-Schleife folgt einer klaren und einfachen Syntax:

while < Bedingung >:
# Codeblock, der ausgeführt wird, solange die Bedingung True ist
  • <Bedingung>: Diese logische Bedingung wird geprüft, bevor der Codeblock ausgeführt wird. Wenn die Bedingung True ist, wiederholt sich die Schleife. Sobald die Bedingung False ist, endet die Schleife.
  • Codeblock: Der Hauptteil, der bei jeder Iteration ausgeführt wird.

3. Grundlagen anhand eines Beispiels

Beispiel: Zahlen von 1 bis 5 ausgeben

x = 1
while x <= 5:
print("Zahl ist:", x)
x += 1

Erklärung:

  1. Die Schleife beginnt mit der Variablen x, die den Wert 1 hat.
  2. Die Bedingung überprüft, ob x <= 5.
  3. Wenn die Bedingung erfüllt ist, wird x ausgegeben und dann um 1 erhöht.
  4. Der Prozess wird wiederholt, bis x > 5, worauf die Schleife endet.

Ausgabe:

Zahl ist: 1
Zahl ist: 2
Zahl ist: 3
Zahl ist: 4
Zahl ist: 5

4. Einführung der Bedingung für das Beenden der Schleife

Die while-Schleife sollte immer eine Bedingung enthalten, die garantiert irgendwann nicht mehr erfüllt ist, um endlose Schleifen zu vermeiden.

Beispiel: Beenden der Schleife mit einer Bedingung

counter = 10
while counter > 0:
print("Countdown:", counter)
counter -= 1 # Reduziert den Zähler

Ausgabe:

Countdown: 10
Countdown: 9
Countdown: 8
...
Countdown: 1

5. Verwendung von break in der while-Schleife

Das Schlüsselwort break wird verwendet, um die Ausführung einer Schleife vorzeitig zu beenden, auch wenn die Schleifen-Bedingung weiterhin True ist. Dies ist besonders nützlich, wenn ein externes Ereignis eintritt, das ein vorzeitiges Beenden der Schleife erfordert.

Beispiel: Schleife vorzeitig abbrechen

x = 1
while x <= 10:
print(x)
if x == 5: # Bedingung zum Abbrechen der Schleife
print("Schleife wird abgebrochen")
break
x += 1

Erklärung:

  • Die Schleife durchläuft die Zahlen von 1 bis 10.
  • Sobald x == 5, wird die Bedingung innerhalb der Schleife erfüllt und die Schleife mit dem Befehl break vorzeitig beendet.

Ausgabe:

1
2
3
4
5
Schleife wird abgebrochen

6. Verwendung von continue in der while-Schleife

Das Schlüsselwort continue wird verwendet, um die aktuelle Iteration zu überspringen und mit der nächsten Iteration fortzufahren. Der Codeblock, der nach continue steht, wird nicht ausgeführt.

Beispiel: Alle Zahlen außer gerade Zahlen ausgeben

x = 0
while x < 10:
x += 1
if x % 2 == 0: # Wenn x eine gerade Zahl ist, überspringen
continue
print(x)

Erklärung:

  • Die Schleife iteriert durch die ersten 10 natürlichen Zahlen.
  • Sobald x eine gerade Zahl ist (x % 2 == 0), wird continue ausgeführt und die gerade Zahl übersprungen.
  • Nur ungerade Zahlen werden ausgegeben.

Ausgabe:

1
3
5
7
9

Beispiel: Zahlen suchen, die durch 3 teilbar sind

x = 0
while x < 20:
x += 1
if x % 3 != 0: # Wenn nicht durch 3 teilbar, überspringen
continue
print(x)

Ausgabe:

3
6
9
12
15
18

7. Häufige Fehler und wie man sie vermeidet

  1. Endlos-Schleifen (Infinite Loops)
    • Eine Schleife läuft unendlich, wenn die Bedingung immer True bleibt und keine Änderung der Variablen erfolgt.
    • Beispiel:
x = 5
while x > 0:
print("Endlos!")
  • Lösung: Stelle sicher, dass die Bedingung irgendwann False wird, z. B. durch das Ändern von Variablen oder das Verwenden von break.
    1. Vergessen, die Bedingung zu aktualisieren
      • Beispiel:
x = 1
while x <= 5:
print("Fehler!") # x wird nicht geändert, Schleife läuft endlos
  • Lösung: Die Schleifenvariable muss innerhalb der Schleife aktualisiert werden (z. B. x += 1).
    1. Fehler beim Einsatz von continue
      • Unbeabsichtigte Verwendung von continue kann wichtige Codeabschnitte überspringen.
      • Beispiel:
x = 0
while x < 10:
if x == 5:
continue # Überspringt und verursacht eine Endlos-Schleife, da x nie erhöht wird
x += 1

8. Fazit und Zusammenfassung

Die while-Schleife in Python ist eine einfache, aber mächtige Kontrollstruktur, mit der du Code ausführen kannst, solange eine Bedingung erfüllt ist. Die Nutzung wird durch die Schlüsselwörter break und continue weiter verbessert:

  • break: Beendet die Schleife vorzeitig, unabhängig von der Bedingung.
  • continue: Überspringt die aktuelle Iteration und fährt mit der nächsten Iteration fort.

Merksatz:

  • Nutze die while-Schleife, wenn die Anzahl der Iterationen im Voraus unbekannt ist.
  • Vermeide Endlos-Schleifen, indem du sicherstellst, dass die Bedingung irgendwann False wird oder ein break eingefügt wird.

Mit sorgfältiger Planung und kontrollierter Ausführung ist die while-Schleife ein wertvolles Werkzeug in Python, besonders für wiederholte und bedingte Prozesse.