🐍 Python Grundlagen

Python Basics 4 – Schleifen

📅 04. März 2026 · ⏱ 15 min

Stell dir vor, du willst “Hallo!” 100 Mal ausgeben. Du könntest 100 print()-Zeilen schreiben — oder eine Schleife benutzen. Schleifen sind eines der mächtigsten Konzepte in der Programmierung: sie lassen Code automatisch wiederholen.

1. while — solange eine Bedingung gilt

Die while-Schleife läuft so lange, bis ihre Bedingung False wird:

zähler = 1

while zähler <= 5:
    print(f"Durchgang {zähler}")
    zähler += 1

print("Fertig!")

Ausgabe:

Durchgang 1
Durchgang 2
Durchgang 3
Durchgang 4
Durchgang 5
Fertig!

Achtung — Endlosschleife! Wenn die Bedingung nie False wird, läuft die Schleife ewig. Stelle immer sicher, dass sich die Bedingung irgendwann ändert:

# GEFÄHRLICH — läuft ewig!
x = 1
while x > 0:
    print(x)
    # x wird nie kleiner → Endlosschleife!

Mit Strg + C kannst du ein laufendes Python-Programm abbrechen.

while für Benutzereingaben

while ist ideal, um Eingaben so lange zu wiederholen, bis sie gültig sind:

passwort = ""

while passwort != "geheim":
    passwort = input("Passwort: ")

print("Zugang gewährt!")

2. for — über eine Sequenz iterieren

Die for-Schleife geht eine Sequenz (z.B. eine Zahlenreihe oder einen Text) Schritt für Schritt durch:

for i in range(5):
    print(i)

Ausgabe: 0 1 2 3 4 (range startet bei 0!)

range() im Detail

range(5)       # 0, 1, 2, 3, 4
range(1, 6)    # 1, 2, 3, 4, 5
range(0, 10, 2)  # 0, 2, 4, 6, 8 (Schrittweite 2)
range(10, 0, -1) # 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 (rückwärts)

Über einen String iterieren

wort = "Python"

for buchstabe in wort:
    print(buchstabe)

Ausgabe: P y t h o n (jeder Buchstabe einzeln)


3. break — Schleife vorzeitig beenden

Mit break kannst du eine Schleife sofort abbrechen, auch wenn die Bedingung noch gilt:

for zahl in range(1, 11):
    if zahl == 6:
        print("Stopp bei 6!")
        break
    print(zahl)

Ausgabe: 1 2 3 4 5 Stopp bei 6!

Praktisches Beispiel:

# Suche nach einem Wert
gesucht = 7
zahlen = [3, 1, 7, 5, 9, 2]

for zahl in zahlen:
    if zahl == gesucht:
        print(f"{gesucht} gefunden!")
        break

4. continue — Durchgang überspringen

Mit continue überspringst du den aktuellen Durchgang und machst mit dem nächsten weiter:

for i in range(1, 11):
    if i % 2 == 0:  # Gerade Zahlen überspringen
        continue
    print(i)

Ausgabe: 1 3 5 7 9 (nur ungerade Zahlen)


5. Verschachtelte Schleifen

Eine Schleife innerhalb einer Schleife — klassisch für Tabellen oder Raster:

for zeile in range(1, 4):
    for spalte in range(1, 4):
        print(f"{zeile}x{spalte}={zeile*spalte}", end="  ")
    print()  # Zeilenumbruch nach jeder Zeile

Ausgabe:

1x1=1  1x2=2  1x3=3
2x1=2  2x2=4  2x3=6
3x1=3  3x2=6  3x3=9

6. while vs. for — wann was?

whilefor
Wann?Wenn unbekannt ist, wie oft die Schleife läuftWenn bekannt ist, wie oft (oder über was iteriert wird)
Typisch fürBenutzereingaben, Spielschleifen, Warten auf EreignisseZahlenreihen, Listen durchgehen, Texte verarbeiten
# for: ich weiß, ich will 10 Mal zählen
for i in range(10):
    print(i)

# while: ich weiß nicht, wie viele Versuche der Nutzer braucht
versuche = 0
while eingabe != "richtig":
    eingabe = input("Antwort: ")
    versuche += 1

Alles zusammen — Einmaleins-Generator

print("=== Einmaleins-Generator ===")
zahl = int(input("Welche Einmaleins-Reihe? "))

print(f"\nDie {zahl}er-Reihe:")
for i in range(1, 11):
    print(f"  {zahl} × {i:2} = {zahl * i:3}")

Das :2 und :3 in den f-Strings sorgt für rechtsbündige Ausrichtung mit Mindestbreite.


Übungen

Übung 1 — Countdown

Schreibe ein Programm, das eine Zahl abfragt und dann von dieser Zahl bis 1 runterzählt, und am Ende “Start!” ausgibt.

Beispiel:

Zahl: 5
5
4
3
2
1
Start! 🚀
💡 Lösung anzeigen
start = int(input("Zahl: "))

for i in range(start, 0, -1):
    print(i)

print("Start! 🚀")

# Alternative mit while:
# zahl = start
# while zahl > 0:
#     print(zahl)
#     zahl -= 1
# print("Start! 🚀")

Übung 2 — Zahlen-Ratespiel

Schreibe ein Programm, das den Nutzer eine Zahl zwischen 1 und 10 raten lässt. Die gesuchte Zahl ist 7. Das Programm soll so lange fragen, bis die richtige Zahl eingegeben wird, und danach zählen, wie viele Versuche es gebraucht hat.

💡 Lösung anzeigen
gesucht = 7
versuche = 0
geraten = False

while not geraten:
    eingabe = int(input("Rate eine Zahl (1-10): "))
    versuche += 1

    if eingabe == gesucht:
        geraten = True
        print(f"Richtig! Du hast {versuche} Versuch(e) gebraucht.")
    elif eingabe < gesucht:
        print("Zu niedrig!")
    else:
        print("Zu hoch!")

Übung 3 — FizzBuzz

Klassisches Programmierübung: Gib alle Zahlen von 1 bis 30 aus — aber:

  • Wenn die Zahl durch 3 teilbar ist, gib “Fizz” aus
  • Wenn sie durch 5 teilbar ist, gib “Buzz” aus
  • Wenn sie durch beides teilbar ist, gib “FizzBuzz” aus

Beispiel: 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz ...

💡 Lösung anzeigen
for i in range(1, 31):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

Tipp: Die Reihenfolge ist wichtig — FizzBuzz muss vor Fizz und Buzz geprüft werden!


Fast geschafft mit den Basics! Im letzten Teil lernst du Funktionen und Listen — damit kannst du deinen Code strukturieren und Daten speichern, was die Tür zu echten kleinen Projekten öffnet.