Zum Inhalt springen
BetaEN
Lektion 3 von 35Python

Python · Lektion 3 · 20 Minuten

Schleifen – Dinge wiederholen

Das lernst du

  • Mit for und range() Code mehrmals ausführen
  • Mit while wiederholen, solange etwas gilt
  • Endlosschleifen erkennen und vermeiden

Warum Schleifen?

Stell dir vor, du sollst „Hallo“ hundertmal ausgeben. Hundert Zeilen print("Hallo")? Viel zu viel Arbeit. Eine Schleife wiederholt Code für dich.

Die for-Schleife

for geht der Reihe nach durch eine Folge von Werten. range(5) erzeugt die Zahlen 0, 1, 2, 3, 4 – also fünf Zahlen, beginnend bei 0.

for runde in range(5):
    print(f"Runde {runde}")

print("Fertig!")

Drück auf Schritte und beobachte die Variable runde. Du siehst, wie Python immer wieder zur Zeile mit for zurückspringt.

range kann noch mehr:

AufrufZahlen
range(5)0, 1, 2, 3, 4
range(1, 6)1, 2, 3, 4, 5
range(0, 20, 5)0, 5, 10, 15
range(3, 0, -1)3, 2, 1

Rechnen in der Schleife

Schleifen sind super, um Dinge zusammenzuzählen. Hier addieren wir alle Zahlen von 1 bis 100:

summe = 0

for zahl in range(1, 101):
    summe = summe + zahl

print(f"Die Summe ist {summe}.")

Die while-Schleife

while (solange) wiederholt, solange eine Bedingung wahr ist. Das ist praktisch, wenn du vorher nicht weißt, wie oft.

guthaben = 20

while guthaben >= 7:
    guthaben = guthaben - 7
    print(f"Kinokarte gekauft, noch {guthaben} Euro übrig.")

print("Geld reicht nicht mehr.")

Achtung, Endlosschleife: Wenn sich die Bedingung nie ändert, läuft while für immer. Probier while True: print("Hilfe") aus – und drück dann auf Stopp.

Merke: for nimmst du, wenn du weißt, wie oft. while nimmst du, wenn du wiederholst, bis etwas passiert.

Kurz-Check

Bevor es an die Aufgabe geht: Was gibt dieses Programm aus? Tipp deine Vermutung ein – Python rechnet danach nach.

summe = 0
for zahl in range(1, 4):
    summe = summe + zahl
    print(summe)

Deine Aufgabe

Jetzt bist du dran

Programmiere den Countdown für einen Raketenstart: Gib die Zahlen von 10 bis 1 aus, jede in einer eigenen Zeile, und danach Start!. Benutze dafür eine Schleife – zehnmal print() zählt nicht.

# Countdown von 10 bis 1, danach "Start!"

Ohne Hinweise gelöst gibt es einen ⭐ auf deiner Fortschrittsseite.

Lösung anzeigen

Versuch es erst selbst – aus Fehlern lernt man am meisten. Hier ist eine mögliche Lösung:

for zahl in range(10, 0, -1):
    print(zahl)

print("Start!")

Für Schnelle

Profi-Aufgabe

Baue eine Zahlenpyramide mit hoehe Zeilen. In Zeile 1 steht 1, in Zeile 2 1 2, in Zeile 3 1 2 3 – und so weiter bis zur Zeile hoehe. Die Zahlen sind durch genau ein Leerzeichen getrennt.

hoehe = 4

# Eine Zeile pro Durchlauf
Profi-Lösung anzeigen
hoehe = 4

for zeile in range(1, hoehe + 1):
    zahlen = []
    for zahl in range(1, zeile + 1):
        zahlen.append(str(zahl))
    print(" ".join(zahlen))
Mehr üben im TrainingsraumEndlos neue Aufgaben zu diesem Thema – mit XP und Serien.