Die for-Schleife
Manchmal soll eine Berechnung mehrfach wiederholt werden — und wie oft, steckt in einer Variablen. Wiederholter print()-Code kann sich dieser Variablen nicht automatisch anpassen.
Mit for i in range(start, stop) wiederholst du Code für jeden Wert von start bis stop − 1. Die Variable i nimmt dabei automatisch den nächsten Wert an.
anzahl auf 8 und führe den Code erneut aus — was ändert sich? Nichts, denn der Code oben kennt anzahl gar nicht wirklich.anzahl auf 8 oder 20 — die Ausgabe passt sich automatisch an, ohne dass du die Schleife anfasst.anzahl ist bereits gegeben (10). Gib mit einer for-Schleife die 3er-Reihe aus — also alle Zahlen von 1 bis anzahl, jeweils mit 3 multipliziert.anzahl ist bereits gegeben (8). Gib mit einer for-Schleife nur die Zahlen von 1 bis anzahl aus, die durch 3 teilbar sind (nutze den %-Operator aus Block 1).range()-Varianten
range() kann mehr als nur bei 0 starten und in 1er-Schritten hochzählen. Mit zusätzlichen Parametern legst du Start, Ende und Schrittweite selbst fest.
range(start, stop, step) — mit drei Parametern bestimmst du genau, wo die Zählung beginnt, wo sie endet (ausschließlich) und in welchen Schritten sie läuft. Ein negativer step zählt rückwärts.
range(10, 0, -1) zählt von 10 bis 1 (0 wird nicht mehr erreicht) — ändere die Werte und beobachte den Effekt.for-Schleife, die alle geraden Zahlen von 2 bis 20 ausgibt (Schrittweite 2).start ist bereits gegeben (7). Zähle mit einer for-Schleife rückwärts von start bis 1 und gib danach "Los!" aus.Akkumulator-Muster
Manchmal soll eine Schleife nicht nur ausgeben, sondern über alle Durchläufe hinweg etwas zusammenrechnen — zum Beispiel eine Summe.
Eine Variable wie summe startet vor der Schleife bei 0 und wird in jedem Durchlauf erhöht: summe = summe + i * i. Dieses Muster heißt Akkumulator.
anzahl auf 12 — der Ausdruck oben ändert sich dadurch nicht von selbst.anzahl — die Summe passt sich automatisch an, ohne dass du die Schleife anfasst.produkt mit 1, nicht mit 0.anzahl ist bereits gegeben (6). Berechne mit einem Akkumulator die Summe der ersten anzahl Zahlen der 4er-Reihe (4, 8, 12, …).Die while-Schleife
Bei for kennst du die Anzahl der Durchläufe immer im Voraus — auch wenn sie in einer Variablen steckt. Manchmal ist aber genau diese Anzahl das, was du suchst.
Eine while-Schleife wiederholt sich, solange eine Bedingung True ist. Die Bedingung wird vor jedem Durchlauf neu geprüft — verändert sich nichts, läuft die Schleife endlos.
zahl über 1000 liegt? Mit for bräuchte man range(?) — aber genau diese Anzahl kennst du hier nicht im Voraus.zahl kleiner als 50 ist.while-Schleife und der Variablen monate, nach wie vielen Monaten der Kontostand unter 100 fällt, und gib monate aus.wert startet bei 2 (bereits gegeben) und wird in jedem Schritt mit sich selbst multipliziert (wert = wert * wert). Zähle mit einer while-Schleife und der Variablen anzahl, wie oft das möglich ist, bevor wert über 100000 liegt. Gib am Ende anzahl und wert aus.Verschachtelte Schleifen
Eine Schleife kann eine weitere Schleife enthalten. Die innere Schleife läuft dabei bei jedem Durchlauf der äußeren komplett von vorn.
for-Schleifen und einem Akkumulator anzahl (bereits mit 0 gegeben), bei wie vielen der 36 möglichen Kombinationen die Augensumme genau 7 ergibt. Gib am Ende "Treffer:", anzahl aus.Kinoplan mit VIP-Plätzen
Kombiniere alles aus diesem Block: äußere und innere for-Schleife, if/elif/else aus Block 2, den Akkumulator und str() aus Block 1.
Der Kinosaal
Ein kleiner Kinosaal hat anzahl_reihen (4) Reihen mit je sitze_pro_reihe (8) Sitzen. Die Reihen heißen A (Reihe 1), B (Reihe 2), C (Reihe 3) und D (Reihe 4). Normale Plätze kosten preis_normal (8 Euro), VIP-Plätze preis_vip (10 Euro). VIP-Plätze sind die Sitze 2 bis 6 in Reihe C und Reihe D.
Reihe A: A1 A2 A3 A4 A5 A6 A7 A8. Nutze eine äußere for-Schleife für die Reihen, if/elif/else für den Reihennamen und eine innere for-Schleife für die Sitze.*-Markierung für VIP-Plätze — und berechne den Umsatz bei ausverkauftem Saal mit einem Akkumulator umsatz. Nutze denselben Aufbau wie in Teil A, ergänzt um eine Bedingung für die VIP-Plätze.