range verstehen
Warum brauchen wir das?
range steuert Zählschleifen präzise:
- von 1 bis 10
- nur gerade Zahlen
- nur ungerade Zahlen
- rückwärts zählen (Countdown)
- n Wiederholungen mit klaren Zahlen
Ohne gutes range-Verständnis rutschen Anfänger oft um eins daneben:
range(5) ist nicht 1–5, sondern 0–4.
Definition: range
Definition – range:
rangeerzeugt eine Zahlenfolge, über dieforlaufen kann.
Definition – exklusive Stopp-Grenze:
Die Stopp-Zahl gehört nicht zur Folge.
range(1, 5)liefert 1, 2, 3, 4 – nicht 5.
Merksatz:
Stopp ist die erste Zahl, die nicht mehr kommt.
Drei Formen
1) range(stopp)
for i in range(5):
print(i) # 0,1,2,3,4
- Start standardmäßig 0
- bis stopp − 1
- fünf Zahlen bei
range(5)
2) range(start, stopp)
for i in range(1, 6):
print(i) # 1,2,3,4,5
Willst du 1 bis 10 inklusive, nimm range(1, 11).
3) range(start, stopp, schritt)
for i in range(0, 10, 2):
print(i) # 0,2,4,6,8
Der dritte Parameter ist die Schrittweite.
Rückwärts zählen
for i in range(5, 0, -1):
print(i) # 5,4,3,2,1
Negativer Schritt = rückwärts.
Auch hier: Stopp ist exklusiv – 0 erscheint nicht.
for i in range(10, 0, -1):
print(i) # Countdown 10..1
print("Start!")
Luna zählt fair
Luna will die Zahlen 1 bis 5:
for i in range(1, 6):
print(i)
Buggy schreibt range(1, 5) und vermisst die 5.
Lily: „Stopp ist die Tür, die du nicht mehr betrittst.“
Neue Wörter
Zahlenfolge fuer Zaehlschleifen. Stopp ist exklusiv.
Die Stopp-Zahl selbst gehoert nicht dazu.
Dritter Parameter von range: um wie viel die Zahl waechst oder schrumpft.
Was passiert im Computer?
rangekennt Start, Stopp und Schritt.- Es liefert die nächste Zahl, solange die Stopp-Regel es erlaubt.
forholt die Zahlen eine nach der anderen.- Der Block läuft für jede gelieferte Zahl genau einmal.
Du musst die ganze Folge nicht im Kopf speichern – Python erzeugt die Werte nach Bedarf.
Häufige Fehler
| Fehler | Hinweis |
|---|---|
Erwarte 1..5 bei range(5) | liefert 0..4 |
range(1, 10) soll 1..10 | Stopp 11: range(1, 11) |
| Schritt 0 | ungültig → Fehler |
range(10, 1) ohne negativen Schritt | oft leere Folge |
range mit float | für den Anfang: ganze Zahlen |
Probiere es selbst
Experiment 1 – 1 bis 10
for i in range(1, 11):
print(i)
Experiment 2 – ungerade
for i in range(1, 10, 2):
print(i) # 1,3,5,7,9
Experiment 3 – Countdown
for i in range(10, 0, -1):
print(i)
Experiment 4 – leere Falle
for i in range(10, 1):
print(i) # oft nichts
print("fertig")
Fehlerdetektiv
for i in range(1, 10, 0):
print(i)
Loesung anzeigen
Schrittweite 0 ist ungültig. Nutze z. B. 1 oder 2.
Übungen
Level 1 – Entdecken
Gib 5, 6, 7, 8, 9 aus.
Loesung
for i in range(5, 10):
print(i)
Level 2 – Anwenden
Vielfache von 5 von 5 bis 50 (inklusive).
Loesung
for i in range(5, 51, 5):
print(i)
Level 3 – Erweitern
User gibt n ein; drucke 1 bis n inklusive.
Loesung
n = int(input("n: "))
for i in range(1, n + 1):
print(i)
Mini-Challenge
Erkläre in zwei Sätzen: Warum range(1, 11) für 1 bis 10?
Bonus: Baue einen Countdown von n nach 1.
Zusammenfassung
rangesteuert Zählungen.- Stopp ist exklusiv.
- Drei Formen: stopp / start-stopp / schritt.
- Rückwärts mit negativem Schritt.
for+range= klare Wiederholungen.- „Eins daneben“ ist der klassische Anfängerfehler – testen!
Mini-Quiz
- Was liefert
range(3)? - Wie erzeugst du 1 bis 5 inklusive?
- Was macht der dritte Parameter?
Loesungen
- 0, 1, 2.
range(1, 6).- Schrittweite.
range sitzt! Als Nächstes: mit for rechnen.