Stewdent.eu
▾

While-Schleifen

Eine While-Schleife wiederholt einen Codeblock so lange, wie eine Bedingung wahr ist. Sie eignet sich besonders, wenn du nicht im Voraus weißt, wie oft der Code ausgeführt werden soll.

Zuletzt aktualisiert: 2. März 2026

★★☆☆☆ Stufe 2computingprogrammingschleifenwhileiteration4 Min Lesezeit

Fehler melden

Manchmal muss ein Programm eine Aufgabe wiederholen, ohne vorher zu wissen, wie oft. Ein Benutzer gibt solange Passwörter ein, bis er das richtige eingegeben hat. Ein Spiel läuft, bis der Spieler verliert. Für solche Situationen ist die While-Schleife das richtige Werkzeug.

Grundstruktur

while bedingung:
    # Dieser Code wird wiederholt

Die Schleife prüft die Bedingung vor jedem Durchlauf. Ist sie True, wird der eingerückte Code ausgeführt. Dann wird die Bedingung erneut geprüft, und so weiter — bis die Bedingung False wird.

Einfaches Beispiel: Zählen

zahl = 1
while zahl <= 5:
    print(zahl)
    zahl += 1
print("Fertig!")

Ausgabe:

1
2
3
4
5
Fertig!

Die Variable zahl startet bei 1. Bei jedem Schleifendurchlauf wird sie um 1 erhöht. Sobald zahl den Wert 6 erreicht, ist zahl <= 5 falsch, und die Schleife endet.

Warnung

Wenn du vergisst, die Variable in der Schleife zu verändern, läuft die Schleife für immer — eine sogenannte Endlosschleife. Das Programm friert ein. Stelle immer sicher, dass die Bedingung irgendwann False wird!

Benutzereingabe wiederholen

While-Schleifen sind ideal, um auf korrekte Eingaben zu warten:

passwort = ""
while passwort != "geheim123":
    passwort = input("Gib dein Passwort ein: ")
print("Zugang gewährt!")

Das Programm fragt so lange nach dem Passwort, bis die richtige Eingabe gemacht wird.

Die break-Anweisung

Mit break kannst du eine Schleife sofort beenden, auch wenn die Bedingung noch True ist:

versuche = 0
while True:             # scheinbar endlos
    antwort = input("Rate die Zahl (1-10): ")
    versuche += 1
    if antwort == "7":
        print(f"Richtig! Du hast {versuche} Versuch/e gebraucht.")
        break           # Schleife beenden
    print("Falsch, versuche es nochmal.")
Hinweis

while True: erstellt eine Schleife, die von selbst nicht aufhört. Sie wird häufig zusammen mit break verwendet, wenn die Abbruchbedingung komplizierter ist oder mitten im Schleifenkörper geprüft werden soll.

Die continue-Anweisung

continue überspringt den Rest des aktuellen Durchlaufs und springt zurück zur Bedingungsprüfung:

zahl = 0
while zahl < 10:
    zahl += 1
    if zahl % 2 == 0:
        continue        # gerade Zahlen überspringen
    print(zahl)
# Gibt aus: 1 3 5 7 9
Tipp

Bevorzuge für einfaches Zählen eine for-Schleife — sie ist kürzer und weniger fehleranfällig. Verwende while, wenn die Anzahl der Wiederholungen unbekannt ist oder von einer Bedingung abhängt.

Praktisches Beispiel: Passwort-Prüfung

MAX_VERSUCHE = 3
versuche = 0
korrekt = False

while versuche < MAX_VERSUCHE:
    eingabe = input("Passwort: ")
    versuche += 1
    if eingabe == "sicher99":
        korrekt = True
        break
    print(f"Falsch. Noch {MAX_VERSUCHE - versuche} Versuch/e übrig.")

if korrekt:
    print("Willkommen!")
else:
    print("Konto gesperrt.")

Übungsaufgaben

Was passiert, wenn du in einer While-Schleife vergisst, die Zählvariable zu erhöhen? Zum Beispiel: zahl = 1 / while zahl <= 10: / print(zahl)

Antwort anzeigen
Das Programm läuft in eine Endlosschleife. Da zahl immer den Wert 1 behält, ist zahl <= 10 stets wahr und die Schleife endet nie. Das Programm muss manuell abgebrochen werden.

Schreibe eine While-Schleife, die alle geraden Zahlen von 2 bis 10 ausgibt.

Antwort anzeigen
zahl = 2 / while zahl <= 10: / print(zahl) / zahl += 2 — Die Schleife beginnt bei 2 und erhöht die Zahl jedes Mal um 2, sodass nur gerade Zahlen ausgegeben werden: 2, 4, 6, 8, 10.