Mit for rechnen
Warum brauchen wir das?
Schleifen sind Rechenmaschinen:
- Summe 1..n
- Produkt 1×2×3×…
- Einmaleins-Reihen
- Muster, Tabellen, Durchschnitte
Statt 1 + 2 + 3 + 4 + 5 von Hand zu tippen, lässt du Python in einer Schleife
mitzählen und aufaddieren. Das skaliert: 1..10, 1..100, 1..n – derselbe Plan.
Definition: Akkumulator
Definition – Akkumulator:
Ein Akkumulator ist eine Variable, die in der Schleife Schritt für Schritt aufgebaut wird (Summe, Produkt, Zähler, Text, …).
Sie wird vor der Schleife gestartet und im Block aktualisiert.
Alltagsbild: Ein Sparschwein.
- Vor dem Sammeln: leer (Summe startet bei
0) - Jede Runde: Münze rein (
summe = summe + i) - Am Ende: gesamter Inhalt
summe = 0 # Start
for i in range(1, 6):
summe = summe + i
print(summe) # 15
Summe 1 bis 5 – Schritt für Schritt
summe = 0
for i in range(1, 6):
summe = summe + i
print(summe) # 15
| Durchlauf | i | Rechnung | summe danach |
|---|---|---|---|
| 1 | 1 | 0 + 1 | 1 |
| 2 | 2 | 1 + 2 | 3 |
| 3 | 3 | 3 + 3 | 6 |
| 4 | 4 | 6 + 4 | 10 |
| 5 | 5 | 10 + 5 | 15 |
Luna: „Die Summe merkt sich alles, was schon passiert ist.“
Py: „i ist der aktuelle Schritt – summe ist die Geschichte.“
Buggy setzt summe = 0 in der Schleife und wundert sich über das Ergebnis 5.
Einmaleins-Zeile
zahl = 3
for faktor in range(1, 11):
print(f"{zahl} * {faktor} = {zahl * faktor}")
Ausgabe (Ausschnitt):
3 * 1 = 3
3 * 2 = 6
...
3 * 10 = 30
Hier brauchst du keinen Akkumulator – die Schleife erzeugt eine Tabelle Zeile für Zeile.
Produkt 1×2×3×4
p = 1
for i in range(1, 5):
p = p * i
print(p) # 24
Wichtig: Produkt startet bei 1, nicht bei 0.
Denn 0 * irgendwas bleibt immer 0.
| Startwert | Typische Aufgabe |
|---|---|
0 | Summe, Zähler „wie oft“ |
1 | Produkt |
"" | Text zusammensetzen (später) |
Neue Wörter
Variable, die in der Schleife schrittweise aufgebaut wird (z. B. Summe).
Einen sinnvollen Startwert setzen, bevor die Schleife laeuft.
Häufiger Fehler: Summe in der Schleife nullen
for i in range(1, 5):
summe = 0 # FALSCH: jedes Mal nullen
summe = summe + i
print(summe) # oft nur der letzte Wert
summe = 0 gehört vor die Schleife – sonst wirfst du jedes Mal das Sparschwein um.
Was passiert im Computer?
- Akkumulator bekommt Startwert.
forholt den nächsten Wert (z. B. ausrange).- Block liest den aktuellen Akkumulator, rechnet, speichert zurück.
- Nach dem letzten Durchlauf steht das Gesamtergebnis in der Variable.
- Code nach der Schleife (ohne Einrückung) nutzt das Ergebnis.
Häufige Irrtümer
| Irrtum | Richtig |
|---|---|
| Summe in der Schleife auf 0 | einmal vor der Schleife |
| Produkt bei 0 starten | bei 1 starten |
range(1, 5) liefert 1..5 | liefert 1..4 (Stopp exklusiv) |
| Summe nach der Schleife initialisieren | zu spät – dann fehlt der Aufbau |
nur print(i) reicht für Summe | nein – du brauchst den Akkumulator |
Probiere es selbst
Experiment 1 – Summe 1..10
summe = 0
for i in range(1, 11):
summe = summe + i
print(summe)
Experiment 2 – Quadrate
for i in range(1, 6):
print(i * i) # 1, 4, 9, 16, 25
Experiment 3 – eigenes Einmaleins
zahl = int(input("Zahl: "))
for faktor in range(1, 11):
print(f"{zahl} * {faktor} = {zahl * faktor}")
Experiment 4 – Buggy-Falle
Kopiere absichtlich summe = 0 in die Schleife und erkläre das Ergebnis.
Fehlerdetektiv
for i in range(1, 5):
summe = 0
summe = summe + i
print(summe)
Loesung anzeigen
Initialisierung vor die Schleife:
summe = 0
for i in range(1, 5):
summe = summe + i
print(summe) # 10
Übungen
Level 1 – Entdecken
Summe der geraden Zahlen 2+4+6+8+10.
Loesung
summe = 0
for i in range(2, 11, 2):
summe = summe + i
print(summe) # 30
Level 2 – Anwenden
User gibt n ein. Berechne Summe 1..n und groben Durchschnitt summe / n.
Loesung
n = int(input("n: "))
summe = 0
for i in range(1, n + 1):
summe = summe + i
print("Summe:", summe)
print("Durchschnitt:", summe / n)
Level 3 – Erweitern
Produkt 1..n (Fakultät-Vorgeschmack) und Ausgabe mit f-String.
Loesung
n = int(input("n: "))
p = 1
for i in range(1, n + 1):
p = p * i
print(f"Produkt 1..{n} = {p}")
Mini-Challenge
Erkläre in einem Satz: Warum startet die Summe bei 0 und das Produkt bei 1?
Bonus: Summe der ungeraden Zahlen von 1 bis 19.
Zusammenfassung
foreignet sich super zum Aufsummieren und für Tabellen.- Akkumulator vor der Schleife initialisieren.
- Im Block aktualisieren.
- Summe → Start 0, Produkt → Start 1.
- Einmaleins und Tabellen sind natürliche for-Aufgaben.
- Nicht in der Schleife immer wieder auf 0 setzen.
Mini-Quiz
- Was ist ein Akkumulator?
- Was ist 1+2+3+4+5?
- Warum Produkt nicht bei 0 starten?
Loesungen
- Variable, die schrittweise aufgebaut wird.
-
- Sonst bleibt alles 0.
Rechnen mit for! Als Nächstes: Schleifen verschachteln.