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:
Einefor-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 hinterfor. 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
Schleife ueber Elemente einer Sequenz.
Erzeugt eine Zahlenfolge. range(5) -> 0 bis 4.
Der Name hinter for, der nacheinander jeden Wert bekommt (z. B. runde).
Etwas, das geordnete Elemente hat: range, String, spaeter Listen.
Aufbau
for element in sequenz:
# Block
| Teil | Bedeutung |
|---|---|
for | „für jedes …“ |
element | Laufvariable (Name wählst du) |
in | „aus dieser Sequenz“ |
sequenz | z. B. range(3) oder "Py" |
: | Block folgt |
| eingerückter Block | Arbeit 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)
| for | while |
|---|---|
| bekannte Wiederholungen / Sequenzen | bis unklare Bedingung endet |
| oft kürzer | flexibler |
range, Listen, Text | Ratespiele, 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?
- Nimm das nächste Element der Sequenz.
- Speichere es in der Laufvariable.
- Führe den eingerückten Block aus.
- Wiederhole, bis die Sequenz zu Ende ist.
- Danach läuft Code ohne Einrückung weiter.
Du musst den Zähler nicht manuell erhöhen – for/range erledigen das.
Häufige Fehler
| Fehler | Hinweis |
|---|---|
| Doppelpunkt fehlt | for i in range(3): |
| Block nicht eingerückt | IndentationError |
Erwarte 1..5 bei range(5) | liefert 0..4 |
for wie while mit manueller Bedingung | andere Denkweise – Sequenz! |
| Laufvariable im Block überschreiben und verwirren | vorsichtig, 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
forlä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
ifundwhile. whilebleibt besser bei „bis etwas passiert“.
Mini-Quiz
- Welche Zahlen liefert
range(3)? - Was ist eine Laufvariable?
- Kann for über einen String laufen?
Loesungen
- 0, 1, 2
- Der Name hinter
for, der jeden Wert bekommt - Ja – Zeichen für Zeichen
for sitzt! Als Nächstes: range genauer (Start, Stopp, Schritt).