for

Die for Schleife gibt es so ziemlich in jeder Programmiersprache. Kurzgesagt funktioniert sie so: Für die Variable x in einer Sequenz führe Code aus. In Python-Code sieht es ungefähr so aus:

for x in sequence:
    ## ...code

Um die for Schleife besser verstehen zu können, müssen wir uns ein Beispiel anschauen:

for x in range(1, 10):
    print(x)
1
2
3
4
5
6
7
8
9

range(1, 10) erstellt uns eine Liste [1, 2, 3, 4, 5, 6, 7, 8, 9].
Japp, bis 9 und nicht bis 10!! Warum?? Keine Ahnung, es ist einfach so ¯\_(ツ)_/¯

x ist die Variable, die jeden Wert innerhalb dieser Liste animmt. In diesem Beispiel ist x beim ersten mal durchlaufen der Schleife 1 und dann beim zweiten Mal 2 und so weiter bis 9. x nimmt dabei pro Durchlauf jeden einzelnen Wert der Sequenz von 1 bis 9 an.

Wir sind nicht gezwungen unsere Schleifen-Variable x zu nennen. Wir können unsere Schleifenvariable so benennen, wie es gerade am besten zu unserem Code passt.

Für jeden Durchlauf wird der indentierte Code darunter ausgeführt, deswegen sehen wir in der Konsole 1 bis 9 je in einer Zeile. Der Code darunter kann so lang sein, wie wir wollen, solange er die gleichte Indentierung hat. Lass uns zum Beispiel eine for Schleife schreiben, die von 1-12, für die Monate in einem Jahr, geht und in die Konsole schreibt, ob es ein Sommer oder Winter Monat ist:

for month in range(1, 13):
    if month >= 6:
        print("Summer, month", month)
    else:
        print("Winter, month", month)
Winter, month 1
Winter, month 2
Winter, month 3
Winter, month 4
Winter, month 5
Summer, month 6
Summer, month 7
Summer, month 8
Summer, month 9
Summer, month 10
Summer, month 11
Summer, month 12

continue und break

Innerhalb einer Schleife können wir auch continue und break benutzen.

continue tut jeden weiteren Code, der kommen würde, überspringen und geht direkt in die nächste Schleifeniteration.

## Schleife von 1 bis 10
for x in range(1, 11):
    ## Wenn es durch 3 teilbar ist, dann überspringe
    if i % 3 == 0:
        continue
    ## Sonst printe die Zahl in der Konsole
    print(i)
1
2
4
5
7
8
10

break bricht eine Schleife sofort ab und es wird keine weiter Iteration und kein weiterer Code der Schleife ausgeführt.

## Schleife von 1 bis 10
for i in range(1, 11):
    ## Wenn i gleich 5 ist, dann breche die Schleife ab
    if i == 5:
        break
    ## Sonst printe die Zahl in der Konsole
    print(i)
}
1
2
3
4

for ... else

else als finally

for x in ...:
    .....
else:
    print("done")
...
done