8.1 For-Schleife
Dass man eine Gruppe von Befehlen unter einer bestimmten Bedingung ausführen kann, ist super. Aber was, wenn ich eine Aktion 100 Mal ausführen will? Wie macht man das?
Dafür gibt es in Python Schleifen. Und für unsere Aufgabe ist die
for-Schleife perfekt geeignet. Der allgemeine Aufbau des
for
-Statements sieht so aus:
for variable in werteliste:
befehl1
befehl2
befehlN
Wobei werteliste eine Sammlung von Werten ist: Liste, String, Dictionary (dazu später mehr).
Variable nimmt nacheinander Werte aus der werteliste an, und für jeden dieser Werte wird der Befehlsblock ausgeführt.
Beispiel:
Beispiel | Erklärung |
---|---|
|
1. Der Variablen fruit wird der Wert "apple" zugewiesen, und der Befehl print(fruit) wird ausgeführt. 2. Der Variablen fruit wird der Wert "banana" zugewiesen, und der Befehl print(fruit) wird ausgeführt. 3. Der Variablen fruit wird der Wert "cherry" zugewiesen, und der Befehl print(fruit) wird ausgeführt. |
So funktioniert die Schleife:
Wenn es 10 Werte in der Liste nach dem Wort in
gibt, wird der Befehlsblock 10 Mal ausgeführt.
Für jeden Wert aus der werteliste passieren zwei Dinge:
-
Der Schleifenvariablen (die nach dem Wort
for
angegeben ist) wird der nächste Wert aus der werteliste zugewiesen. - Dann wird der Befehlsblock ausgeführt.
Noch ein Beispiel:
Beispiel | Erklärung |
---|---|
|
Die Schleife gibt die Zahlen aus:
1 2 3 4 5 6 7 8 9 10 |
8.2 Bereich setzen — range
Im letzten Beispiel konntest du sehen, dass es sehr einfach ist, 10 Zahlen auszugeben. Aber was, wenn wir eine Schleife 100 Mal ausführen wollen? Oder 1000 Mal?
Natürlich gibt es dafür eine Lösung. In Python gibt es eine spezielle
Funktion namens range()
zur Generierung einer
Zahlenfolge, die in Kombination mit der for-Schleife ein mächtiges
Werkzeug zur Verwaltung wiederholender Aufgaben ist.
Die Funktion range()
kann auf verschiedene Arten
verwendet werden, abhängig von der Anzahl der Argumente, die an sie übergeben werden.
Grundlagen der Anwendung von range()
:
Ein Argument: range(n)
generiert eine Sequenz
von 0 bis n-1. Dies ist nützlich, wenn man eine Aktion eine bestimmte Anzahl von Malen ausführen möchte.
for i in range(5):
print(i) # Gibt Zahlen von 0 bis 4 aus
Zwei Argumente: range(start, stop)
generiert
eine Sequenz von start
bis stop-1
. Dies ist nützlich, um die Iteration bei einer bestimmten Zahl zu beginnen.
for i in range(1, 6):
print(i) # Gibt Zahlen von 1 bis 5 aus
Drei Argumente: range(start, stop, step)
fügt ein drittes
Argument step
hinzu, das den Schritt zwischen den Zahlen in der
Sequenz bestimmt.
for i in range(0, 10, 2):
print(i) # Gibt gerade Zahlen von 0 bis 8 aus
Rückwärts-Schleifen: range()
kann Zahlen in umgekehrter
Reihenfolge generieren, was es ermöglicht, rückwärts zu iterieren.
for i in range(10, 0, -1):
print(i) # Gibt Zahlen von 10 bis 1 aus
Die Funktion range()
in Kombination mit der
for
-Schleife bietet ein flexibles Werkzeug zur Steuerung der
Iterationen in Python. Das Verständnis ihrer Möglichkeiten hilft, effizientere und übersichtlichere Schleifen zu erstellen, die ein wesentlicher Bestandteil jedes Programms sind.
8.3 Schleife über eine Liste
Wenn du eine Gruppe von Aktionen auf verschiedene Werte anwenden möchtest, aber range()
nicht das Richtige ist, kannst du diese
Werte immer noch in eine Liste mit eckigen Klammern setzen. Die allgemeine Form dieser Operation sieht so aus:
for variable in [val1, val2, …, valN]:
befehl1
befehl2
befehlN
Du listest einfach die Werte durch Kommas getrennt auf, und die Schleife wird für jeden dieser Werte ausgeführt, wobei die Variable nacheinander jeden Wert annimmt. Beispiel:
Beispiel | Erklärung |
---|---|
|
Die Schleife gibt die Strings aus:
apple banana cherry |
Du kannst in der Liste auch direkt im Schleifen-Statement nach dem Wort
in
Zahlen angeben:
Beispiel | Erklärung |
---|---|
|
Die Schleife gibt die Zahlen aus:
0.99 2.75 0.25 |
In der Liste können generell Objekte beliebigen Typs aufgelistet werden:
Beispiel | Erklärung |
---|---|
|
Die Schleife gibt die Strings aus:
0.99 apple -1 True |
GO TO FULL VERSION