Zum Hauptinhalt springen

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:
range erzeugt eine Zahlenfolge, über die for laufen 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

rangerange

Zahlenfolge fuer Zaehlschleifen. Stopp ist exklusiv.

exklusive Grenzeexclusive end

Die Stopp-Zahl selbst gehoert nicht dazu.

Schrittweitestep

Dritter Parameter von range: um wie viel die Zahl waechst oder schrumpft.

Was passiert im Computer?

  1. range kennt Start, Stopp und Schritt.
  2. Es liefert die nächste Zahl, solange die Stopp-Regel es erlaubt.
  3. for holt die Zahlen eine nach der anderen.
  4. 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

FehlerHinweis
Erwarte 1..5 bei range(5)liefert 0..4
range(1, 10) soll 1..10Stopp 11: range(1, 11)
Schritt 0ungültig → Fehler
range(10, 1) ohne negativen Schrittoft leere Folge
range mit floatfü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

  • range steuert 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

Mini-QuizGehoert die Stopp-Zahl bei range dazu?
  1. Was liefert range(3)?
  2. Wie erzeugst du 1 bis 5 inklusive?
  3. Was macht der dritte Parameter?
Loesungen
  1. 0, 1, 2.
  2. range(1, 6).
  3. Schrittweite.

range sitzt! Als Nächstes: mit for rechnen.