Zum Hauptinhalt springen

Die for-Schleife

Warum brauchen wir das?

while ist flexibel: „Solange …“.
Oft weißt du aber schon vorher: genau 5 Runden, genau 10 Aufgaben, jedes Zeichen im Wort.

Dann ist for oft klarer und kürzer. Weniger Risiko, den Zähler zu vergessen. Python holt die nächste Sache selbst – du beschreibst nur: „für jedes …“.

Definition: for

Definition – for-Schleife:
Eine for-Schleife wandert nacheinander über die Elemente einer Sequenz
(z. B. range(...), später Listen und Strings) und führt für jedes Element den Block aus.

Definition – Laufvariable:
Die Laufvariable ist der Name hinter for. Sie bekommt nacheinander jeden Wert der Sequenz.

Alltagsbilder:

  • „Für jedes Heft im Stapel: stemple es.“
  • „Für jede Zahl von 1 bis 10: zeige sie.“
  • „Für jeden Buchstaben im Namen: drucke ihn.“

Luna und fünf Runden

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

Ausgabe:

Runde 0
Runde 1
Runde 2
Runde 3
Runde 4

Py: „range(5) liefert fünf Werte: 0, 1, 2, 3, 4.“
Lily: „Computer zählen oft ab null – das ist normal.“
Buggy erwartet 1–5 und wundert sich. (Lösung später: range(1, 6).)

Neue Wörter

forfor

Schleife ueber Elemente einer Sequenz.

rangerange

Erzeugt eine Zahlenfolge. range(5) -> 0 bis 4.

Laufvariableloop variable

Der Name hinter for, der nacheinander jeden Wert bekommt (z. B. runde).

Sequenzsequence

Etwas, das geordnete Elemente hat: range, String, spaeter Listen.

Aufbau

for element in sequenz:
# Block
TeilBedeutung
for„für jedes …“
elementLaufvariable (Name wählst du)
in„aus dieser Sequenz“
sequenzz. B. range(3) oder "Py"
:Block folgt
eingerückter BlockArbeit pro Element

Beispiel mit range:

for i in range(3):
print("Hi")

Hi dreimal. Die Variable i ist 0, dann 1, dann 2 – auch wenn du sie nicht in print nutzt.

for über Text (Vorgeschmack)

for buchstabe in "Py":
print(buchstabe)

Ausgabe:

P
y

Ein String ist eine Sequenz von Zeichen. for nimmt sie einzeln.

for vs while (Faustregel)

forwhile
bekannte Wiederholungen / Sequenzenbis unklare Bedingung endet
oft kürzerflexibler
range, Listen, TextRatespiele, Menüs bis Exit
Laufvariable kommt „von allein“Zähler oft selbst pflegen

Beide sind wichtig. Gute Programme mischen sie je nach Aufgabe.

Was passiert im Computer?

  1. Nimm das nächste Element der Sequenz.
  2. Speichere es in der Laufvariable.
  3. Führe den eingerückten Block aus.
  4. Wiederhole, bis die Sequenz zu Ende ist.
  5. Danach läuft Code ohne Einrückung weiter.

Du musst den Zähler nicht manuell erhöhen – for/range erledigen das.

Häufige Fehler

FehlerHinweis
Doppelpunkt fehltfor i in range(3):
Block nicht eingerücktIndentationError
Erwarte 1..5 bei range(5)liefert 0..4
for wie while mit manueller Bedingungandere Denkweise – Sequenz!
Laufvariable im Block überschreiben und verwirrenvorsichtig, oft unnötig

Probiere es selbst

Experiment 1

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

Experiment 2 – Name

name = "Luna"
for buchstabe in name:
print(buchstabe)

Experiment 3 – Motto

for i in range(5):
print("Code-Club rockt!")

Experiment 4 – Vergleich while

Schreibe dieselbe Ausgabe einmal mit for und einmal mit while (5× „Go!“).

Fehlerdetektiv

for i in range(3)
print(i)
Loesung anzeigen

Doppelpunkt fehlt:

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

Übungen

Level 1 – Entdecken

Gib 0–4 mit for/range aus.

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

Level 2 – Anwenden

Wort einlesen, jeden Buchstaben in einer eigenen Zeile.

Loesung
wort = input("Wort: ")
for b in wort:
print(b)

Level 3 – Erweitern

Summiere 0+1+2+3+4 mit for (Akkumulator-Vorgeschmack).

Loesung
summe = 0
for i in range(5):
summe = summe + i
print(summe)

Mini-Challenge

Erkläre: Wann for, wann while?
Baue je ein Mini-Beispiel (3 Zeilen reichen).

Zusammenfassung

  • for läuft Element für Element über eine Sequenz.
  • range(n) erzeugt n Durchläufe (0 … n−1).
  • Die Laufvariable nimmt nacheinander die Werte.
  • Ideal bei fester Anzahl und bei Text/Listen.
  • Doppelpunkt + Einrückung wie bei if und while.
  • while bleibt besser bei „bis etwas passiert“.

Mini-Quiz

Mini-QuizWas macht for oft eleganter als while?
  1. Welche Zahlen liefert range(3)?
  2. Was ist eine Laufvariable?
  3. Kann for über einen String laufen?
Loesungen
  1. 0, 1, 2
  2. Der Name hinter for, der jeden Wert bekommt
  3. Ja – Zeichen für Zeichen

for sitzt! Als Nächstes: range genauer (Start, Stopp, Schritt).