Zähler verwenden
Warum brauchen wir das?
Viele Schleifen brauchen eine Variable, die sich planbar ändert:
- Runden zählen (1, 2, 3, …)
- Versuche tracken
- Countdown (5, 4, 3, …)
- in Zweierschritten laufen (2, 4, 6, …)
Das ist der Zähler. Ohne ihn weiß die while-Bedingung oft nicht, wann sie
aufhören soll – und Buggy freut sich über Endlosschleifen.
Definition: Zähler
Definition – Zähler:
Ein Zähler ist eine Variable, die in der Schleife regelmäßig verändert wird
(meist +1 oder −1), damit die Schleifenbedingung irgendwann False wird
und die Anzahl der Durchläufe steuerbar bleibt.
Definition – Schleifenmuster Start–Bedingung–Änderung:
- Start – Zähler initialisieren
- Bedingung –
while ...- Änderung – im Block den Zähler anpassen
Fehlt Schritt 3, läuft die Schleife oft ewig.
Das Standard-Muster
zaehler = start
while zaehler <= ende:
# Arbeit
zaehler = zaehler + 1
Drei Teile – merke sie wie ein Dreieck:
Start
/ \
Bedingung — Änderung
Beispiel: Punkte in Runden
runde = 1
punkte = 0
while runde <= 3:
print(f"Runde {runde}")
punkte = punkte + 10
runde = runde + 1
print(f"Gesamt: {punkte}")
Ausgabe:
Runde 1
Runde 2
Runde 3
Gesamt: 30
Hier gibt es zwei Variablen:
runde= Zähler (steuert die Schleife)punkte= Akkumulator (sammelt Ergebnis)
Py: „Zähler steuert. Akkumulator sammelt. Nicht verwechseln.“
Abwärts zählen
zaehler = 5
while zaehler >= 1:
print(zaehler)
zaehler = zaehler - 1
print("Start!")
Bedingung und Richtung müssen zusammenpassen:
| Richtung | Start | Bedingung | Änderung |
|---|---|---|---|
| hoch | 1 | <= 5 | + 1 |
| runter | 5 | >= 1 | - 1 |
| gerade | 2 | <= 10 | + 2 |
Schritte größer als 1
i = 2
while i <= 8:
print(i)
i = i + 2 # 2,4,6,8
Neue Wörter
Variable, die Durchlaeufe zaehlt oder steuert.
Erhoehen, oft um 1: i = i + 1.
Verringern, oft um 1: i = i - 1.
Was passiert im Computer?
Jeder Durchlauf:
- Bedingung prüfen.
- Wenn False → raus.
- Wenn True → Block (Arbeit).
- Zähler ändern.
- Zurück zu Schritt 1.
Ohne Schritt 4 bleibt die Bedingung oft für immer True.
Häufige Fehler
| Fehler | Folge |
|---|---|
| Zähler ändert sich nicht | Endlosschleife |
| Falsche Richtung (+ statt −) | Endlos oder 0 Durchläufe |
| Bedingung falsch herum | unerwartete Anzahl |
| Zähler nach der Schleife ändern | hilft der Schleife nicht |
i = 1 im Block jedes Mal | springt nie weiter sinnvoll |
Probiere es selbst
Experiment 1 – gerade Zahlen
i = 2
while i <= 8:
print(i)
i = i + 2
Experiment 2 – Summe 1..5
i = 1
summe = 0
while i <= 5:
summe = summe + i
i = i + 1
print(summe)
Experiment 3 – Versuche
versuch = 1
while versuch <= 3:
print(f"Versuch {versuch}")
versuch = versuch + 1
Experiment 4 – Buggy-Richtung
Was passiert hier? (Nicht ewig laufen lassen – nachdenken!)
i = 1
while i <= 5:
print(i)
i = i - 1
Fehlerdetektiv
i = 1
while i <= 5:
print(i)
i = i - 1
Loesung anzeigen
Zähler läuft in die falsche Richtung. Für 1..5:
i = 1
while i <= 5:
print(i)
i = i + 1
Übungen
Level 1 – Entdecken
Gerade Zahlen 2 bis 10 ausgeben.
Loesung
i = 2
while i <= 10:
print(i)
i = i + 2
Level 2 – Anwenden
Produkt 1×2×3×4.
Loesung
i = 1
p = 1
while i <= 4:
p = p * i
i = i + 1
print(p)
Level 3 – Erweitern
User gibt n ein, Summe 1..n.
Loesung
n = int(input("n: "))
i = 1
summe = 0
while i <= n:
summe = summe + i
i = i + 1
print(summe)
Mini-Challenge
Erkläre das Dreieck: Start – Bedingung – Änderung in eigenen Worten.
Baue einen Countdown von 10 nach 1.
Zusammenfassung
- Zähler steuern
whileplanbar. - Drei Teile: Start, Bedingung, Änderung.
- Hoch, runter, in Schritten – Richtung muss passen.
- Ohne Änderung oft Endlosschleife.
- Summe/Produkt brauchen zusätzlich einen Akkumulator.
Mini-Quiz
- Was ist ein Zähler?
- Welche drei Teile braucht das Muster?
- Wie zählt man in Zweierschritten?
Loesungen
- Steuer-/Zählvariable.
- Start, Bedingung, Änderung.
i = i + 2.
Zaehler sitzen! Als Nächstes: Eingaben wiederholen.