Python für Anfänger · Teil 7TutorialEinsteiger

Python

Python für Anfänger – Teil 7: Wiederholungen mit for und range

Erzeuge wiederkehrende Ausgaben und Berechnungen, ohne dieselben Zeilen mehrfach zu kopieren.

Veröffentlicht am

3 Minuten Lesezeit

Voraussetzungen

Du kennst die Inhalte aus Teil 6 und arbeitest mit einem lokalen Python-3-Interpreter (ab Python 3.10), beispielsweise in Thonny.

Das lernst du in dieser Lektion

  • For-Schleifen schreiben.
  • Range mit Start, Ende und Schritt verwenden.
  • Ergebnisse aufsummieren.

Gleiche Aufgabe, wechselnder Wert

Für eine kleine Tabelle möchten wir den Materialbedarf für ein bis fünf Teile ausgeben. Mit einer Schleife schreiben wir die Berechnung nur einmal:

gewicht_pro_teil_g = 18.5

for anzahl in range(1, 6):
    bedarf_g = anzahl * gewicht_pro_teil_g
    print(f"{anzahl} Teile: {bedarf_g:.1f} g")

Speichere bedarfstabelle.py. In jedem Durchlauf erhält anzahl den nächsten Wert aus der Zahlenfolge. Der eingerückte Schleifenrumpf wird mit diesem Wert ausgeführt. Nach dem letzten Wert läuft das Programm hinter der Schleife weiter.

Warum steht dort 6?

Bei range(1, 6) ist der Start enthalten und das Ende ausgeschlossen. Es entstehen die Zahlen 1, 2, 3, 4 und 5. range(5) liefert dagegen 0 bis 4. Mit range(0, 11, 2) erhältst du 0, 2, 4, 6, 8 und 10. Die dritte Zahl ist die Schrittweite; sie darf nicht 0 sein.

Eine rückwärts laufende Folge ist ebenfalls möglich:

for zahl in range(3, 0, -1):
    print(zahl)
print("Start!")

Hier werden 3, 2, 1 und anschließend Start! ausgegeben. Die letzte Zeile ist nicht eingerückt und gehört deshalb nicht zum wiederholten Bereich.

Werte sammeln: ein Zähler und eine Summe

summe = 0
for zahl in range(1, 6):
    summe += zahl
print(summe)

+= aktualisiert die Variable: summe += zahl bedeutet hier dasselbe wie summe = summe + zahl. Vor der Schleife starten wir bei 0. Nach fünf Durchläufen beträgt die Summe 15.

Setzt du summe = 0 versehentlich in die Schleife, wird der bisherige Zwischenstand in jedem Durchlauf gelöscht. Überlege deshalb bei jeder Variable: Soll sie einmal vor der Schleife initialisiert oder in jedem Durchlauf neu berechnet werden?

Eine Wertetabelle prüfen

Kontrolliere die erste und letzte Tabellenzeile. Für ein Teil erwarten wir 18.5 g, für fünf Teile 92.5 g. Wenn sechs Zeilen erscheinen oder bei 0 begonnen wird, stimmt wahrscheinlich der gewählte Bereich nicht. Ändere danach nur gewicht_pro_teil_g und prüfe, ob alle Tabellenzeilen dazu passen.

for kann auch Texte und Datensammlungen durchlaufen. Listen und das zusätzliche Nummerieren mit enumerate() behandeln wir in Teil 9.

Mitmach-Aufgabe

Gib eine Tabelle für 2, 4, 6, 8 und 10 Teile aus. Jedes Teil wiegt 12 g. Ergänze nach der Schleife die einmalige Meldung „Tabelle fertig“.

Versuche die Aufgabe zuerst selbst. Vergleiche danach deinen Ansatz mit der Musterlösung. Andere Lösungen sind möglich, wenn sie dieselben Anforderungen erfüllen.

Musterlösung

for anzahl in range(2, 11, 2):
    gewicht_g = anzahl * 12
    print(f"{anzahl} Teile: {gewicht_g} g")
print("Tabelle fertig")

Ergebnis prüfen

Die Gewichte lauten 24, 48, 72, 96 und 120 g. Die Abschlussmeldung erscheint genau einmal.

Typische Stolperstellen

Der Endwert von range() wird nicht erreicht. Eine zu weit eingerückte Abschlussmeldung erscheint bei jedem Durchlauf. range() arbeitet mit ganzen Zahlen.

Was du jetzt kannst

  • For-Schleifen schreiben.
  • Range mit Start, Ende und Schritt verwenden.
  • Ergebnisse aufsummieren.

Passendes Cheatsheet

Zum Nachschlagen: Cheatsheet 06 – Schleifen in Python. Dort findest du auch den vorhandenen PDF-Download.

Im nächsten Teil

In Teil 8 geht es um while-Schleifen und einfache Menüs. Wiederhole Abläufe bis zu einer Abbruchbedingung und baue ein erstes Konsolenmenü.

← Teil 6 · Kursübersicht · Weiter zu Teil 8 →