Nachdem du im vorherigen Kapitel den modularen Entwurf kennengelernt hast, widmen wir uns nun einem weiteren fundamentalen Konzept in der Programmierung: Schleifen oder Wiederholungen.
Schleifen sind ein zentraler Bestandteil des modularen Designs und ermöglichen es, bestimmte Aufgaben effizient und wiederholt auszuführen. Dies ist besonders nützlich, um unsere Module in vielfältigen Szenarien anzuwenden. In dieser Aktivität wirst du die for-Schleife genauer erkunden, eine äusserst leistungsfähige Kontrollstruktur in der Programmierung, die es ermöglicht, einen bestimmten Anweisungsblock mehrmals auszuführen. Du wirst sehen, wie Schleifen den modularen Ansatz ergänzen und dir dabei helfen, Code effektiver zu organisieren und Aufgaben in wiederholbare Einheiten zu zerlegen.
Bis jetzt haben wir über "Namen" gesprochen, um Werte in Python zu speichern. Dabei wurde bewusst der Begriff "Variable" vermieden, da die gespeicherten Werte bisher nicht verändert wurden. Allerdings ändert sich das jetzt! Du wirst lernen, Variablen zu verwenden, um Werte zu speichern und diese Werte im Laufe des Programms zu ändern.
Du kannst dir eine Variable wie einen Behälter vorstellen, in den du einen Wert legst. Der Name der Variable bleibt derselbe, aber der Wert, den sie repräsentiert, kann sich ändern. Du kannst diesen Namen verwenden, um auf den aktuellen Wert der Variable zuzugreifen oder ihn zu verändern, indem du der Variable einen neuen Wert zuweist (und damit den alten Wert überschreibst).
In Kapitel A wurde zum ersten Mal eine Variable verwendet. Hier ist noch einmal das entsprechende Codestück:
blattspreite = ellipse(70, 100, gruen)
In diesem Fall hatten wir den Namen blattspreite verwendet, um eine Ellipsen-Grafik zu speichern. Die Variable blattspreite fungiert als Behälter, in dem die Informationen zur Ellipse gespeichert werden können. Man kann diesen Namen später verwenden, um auf die Ellipse zuzugreifen oder sie zu ändern. Dies wird mit der folgenden Codezelle klarer. Klicke auf "AUSFÜHREN" und du siehst: Es werden zwei verschiedene Grafiken ausgegeben, obwohl beide zeige_grafik Aufrufe als Argument den Namen blattspreite erhalten.
Jetzt, da du ein Grundverständnis dafür hast, was Variablen sind, lass uns die for-Schleife genauer betrachten.
for-SchleifeEine for-Schleife wird verwendet, um eine bestimmte Anweisung oder einen Anweisungsblock wiederholt auszuführen. Sie eignet sich besonders gut für Aufgaben, die eine vorher festgelegte Anzahl von Durchläufen erfordern. Hier ist eine grundlegende Schablone für eine for-Schleife in Python:
for <Variable> in <Sequenz>:
<Anweisung 1>
<Anweisung 2>
...
<Anweisung n>
Zitat aus Dalwigk, F. (2022). Python für Einsteiger: Programmieren lernen mit dem großen Python Buch - Schritt für Schritt zum Python Profi – auch ohne Vorkenntnisse! Eulogia Verlags GmbH., S. 208-9:
Das Schlüsselwort
forleitet einefor-Schleife ein. Danach folgt eine<Variable>, in der nacheinander die Werte der<Sequenz>gespeichert werden. Die<Sequenz>steht dabei für ein Objekt, das man schrittweise durchlaufen kann. Man spricht auch von einem iterierbaren Objekt. Zwischen der<Variable>und der<Sequenz>befindet sich das Schlüsselwortin, mit dem du anzeigst, woraus die Werte für die<Variable>geschöpft werden sollen, nämlich aus der<Sequenz>. Die Funktionsweise einerfor-Schleife kann man fast schon direkt an dem Schleifenkopf ablesen, denn wenn du die Zeile
for <Variable> in <Sequenz>:
wörtlich übersetzt und statt
<Variable>den Begriff Element verwendest, dann steht dort "für jedes Element in der Sequenz ...". Hinter dem Doppelpunkt, der den Schleifenkopf beendet, folgt dann das, was für jedes Element aus der<Sequenz>gemacht werden soll. Die<Anweisungen>werden in jedem Schleifendurchlauf nacheinander abgearbeitet und bilden den sogenannten Schleifenkörper. Beachte, dass die<Anweisungen>eingerückt werden. Diefor-Schleife endet, sobald alle Elemente in der<Sequenz>durchlaufen wurden.
Das folgende sog. Flussdiagramm visualisiert den grundlegenden Aufbau einer
for-Schleife:

Bevor wir wieder mit Grafiken arbeiten, lass uns zur Abwechslung mal zu Zahlen und Wörtern wechseln.
Oben war mehrfach von dem Begriff <Sequenz> die Rede.
Vielleicht hast du angefangen zu zählen: 0, 1, 2, 3, 4, 5. Vielleicht hast du an einen bevorstehenden Voci-Test gedacht - und all die Wörter, die du noch lernen solltest. Oder doch eher an die Namen derjenigen, die du zu deiner Geburtstagsfeier einladen willst?
In all diesen Fällen hast du das Wort Sequenz mit einer Abfolge oder Auflistung gleichgesetzt! Das ist gut, denn: Diesen drei Ideen ist gemeinsam, dass die entsprechenden Zahlen oder Wörter in einer Liste gesammelt werden können. Und ja, Listen gibt es auch in Python!
ListeDie Liste ist die wohl wichtigste sog. Datenstruktur, um die du in Python nicht herumkommst. Zum Glück ist sie sehr intuitiv zugänglich, da wir im Alltag überall mit ihr konfortiert werden (wie du gerade gesehen hast).
In Listen werden Daten in einer bestimmten Reihenfolge gespeichert. Und genau das kannst du dir zunutze machen, wenn du in einer for-Schleife als <Sequenz> eine Liste verwendest.
Wichtig:
Eine Liste wird durch eckige Klammern gekennzeichnet, in die <Elemente> mit Kommas getrennt eingetragen werden können. Hinter dem letzten Eintrag folgt kein Komma.
Hinweis: Die Tastenkombinationen für eckige Klammern unterscheiden sich leicht zwischen macOS und Windows:
| Betriebssystem | Öffnende Klammer [ | Schliessende Klammer ] |
|---|---|---|
| macOS | ⌥ + 5 | ⌥ + 6 |
| Windows | Alt Gr + ü (oder Alt Gr + 8) | Alt Gr + ¨ (oder Alt Gr + 9) |
Die Zahlen 0 - 5 könnten also z.B. wie folgt in einer Liste stehen:
[0, 1, 2, 3, 4, 5]
...oder auch so, wenn sie in dieser Reihenfolge gespeichert werden sollen:
[3, 2, 1, 4, 5, 0]
Entsprechend sieht es mit Namen aus: Kevin, Mia, Thomas, Claudia und Lukas können als Strings in einer Liste gespeichert werden - und bei Bedarf auch einer Variablen zugewiesen werden.
namen = ["Kevin", "Mia", "Thomas", "Claudia", "Lukas"]
Mit einer for-Schleife kannst du nun z.B. die Listen-Einträge nacheinander ausgeben. Dabei gehst du wie folgt vor:
for leitest du den Schleifenkopf ein.<Variable>. Hier kannst du statt kryptischer Namen wie i (was übrigens für Index steht) oder elem etwas wählen, das zu dem Inhalt deiner Liste passt. Da die erste Liste Zahlen enthält, könntest du z.B. den Variablennamen zahl verwenden.in und deine Liste, die durchlaufen werden soll.zahlen = [0, 1, 2, 3, 4, 5]
for zahl in zahlen:
In der Variable zahl werden jetzt nacheinander die Werte aus der Liste zahlen gespeichert. Möchtest du diese ausgeben, übergibst du die Variable zahl als Parameter nicht - wie du das bisher mit den Grafiken getan hast - an die Funktion zeige_grafik, sondern an die Funktion print.
printMithilfe von print lassen sich Werte ausgeben. Neben Zahlen und Strings kann in den Klammern eine Variable übergeben werden, die immer durch ihren Wert ersetzt und ausgegeben wird.
Drücke unten auf "AUSFÜHREN" und überzeuge dich selbst!
Die Variable zahl wird in jedem Schleifendurchlauf verwendet, um die Werte aus der Liste zahlen nacheinander zu durchlaufen und zu verarbeiten.
1. Schleifendurchlauf:
zahl gleich 0, da 0 der erste Wert in der Liste ist.print(zahl) ausgeführt, was dazu führt, dass die 0 ausgegeben wird.2. Schleifendurchlauf:
zahl auf den nächsten Wert in der Liste gesetzt, in diesem Fall 1.print(zahl) erneut ausgeführt und gibt die 1 aus.3. Schleifendurchlauf:
zahl aktualisiert, diesmal auf 2.print(zahl) gibt 2 aus.4. Schleifendurchlauf:
zahl wird auf 3 aktualisiert.print(zahl) gibt 3 aus.5. Schleifendurchlauf:
zahl wird auf 4 aktualisiert.print(zahl) gibt 4 aus.6. Schleifendurchlauf:
zahl auf 5 aktualisiert.print(zahl) gibt 5 aus.Nachdem alle Werte in der Liste durchlaufen wurden, endet die for-Schleife, da keine weiteren Werte mehr übrig sind.
Schreibe bzw. ergänze in der Codezelle unten den entsprechenden Code für eine for-Schleife, welche die Namen der Liste von oben ausgibt!
Aber wie erleichtert uns all dies das Erstellen und Bearbeiten von Grafiken?
Studiere dazu die folgenden Code-Beispiele und die jeweilige gewünschte Ausgabe. Aber Achtung, es gibt noch einzelne Lücken, die du füllen, und Fehler, die du beheben musst!
Als nächstes wenden wir uns einer Funktion zu, die es uns ermöglicht, for-Schleifen noch vielseitiger zu gestalten. Damit kannst du Grafiken auf eine noch effizientere Weise erstellen und bearbeiten.
range Funktion in for-SchleifenMithilfe der Funktion range kannst du eine Sequenz von aufeinanderfolgenden Zahlen erzeugen, die in einer for-Schleife durchlaufen werden können. Die range Funktion erhält bis zu drei Parameter:
range(start, stop, step)
start (optional): Startwert der Sequenz. Standardmässig beginnt start bei 0.stop: Endwert, bis zu dem die Sequenz erzeugt wird. Dieser Wert ist exklusiv, d.h., er ist nicht Teil der erzeugten Sequenz.step (optional): Schritt, mit dem die Zahlen in der Sequenz erhöht werden. Standardmässig beträgt step 1.Beispiel 1: Einfache range-Verwendung
Dieses Beispiel liefert dasselbe Resultat wie unsere obige Variante mit der Liste [0, 1, 2, 3, 4, 5]: sie gibt die Zahlen von 0 bis 5 aus. Die range Funktion erzeugt automatisch eine Sequenz von 0 bis 5 (exklusiv 6).
Beispiel 2: range mit Start- und Endwerten
Hier wird die range Funktion verwendet, um eine Sequenz von 2 bis 7 (exklusiv 8) zu erstellen und in der for-Schleife auszugeben.
Beispiel 3: range mit Start-, End- und Schrittwerten
In diesem Beispiel wird die range Funktion verwendet, um eine Sequenz von 1 bis 9 (exklusiv 10) mit einem Schritt von 2 zu erstellen. Dies führt zur Ausgabe der ungeraden Zahlen von 1 bis 9.
Damit bist du gerüstet für die nachfolgenden Aufgaben!
Erstelle eine for-Schleife, die mithilfe der range Funktion...
for-Schleife aufgebaut ist und verwendet wird, um wiederholte Aufgaben in Python auszuführen.print verwenden, um Textausgaben in deinen Programmen zu erzeugen.range in for-Schleifen, um eine Sequenz von Zahlen zu erzeugen.This activity has been created by Lichtsteiner and is licensed under CC BY-SA 4.0.
for-Schleife


PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 51af85f (Tue, 18 Nov 2025 10:59:34 GMT)