for-Schleifen
Wenn wir über alle Elemente von Tupeln oder Listen iterieren wollen, können wir dies mit einer while-Schleife machen.
seq = ["first", "second", "third"]
i = 0
while i < len(seq):
element = seq[i]
print(element)
i = i + 1
Da wir diesen Code so häufig schreiben müssen, gibt es in Python ein spezielles Sprachkonstrukt, dass wir für diese Zwecke einsetzen können. Es sieht wie folgt aus:
for element in seq:
print(element)
for
und in
sind hier zwei von Python definierte Schlüsselwörter. element
ist ein von uns gewählter Variablennamen und seq
steht für die Sequenz über die wir iterieren möchten. Python läuft nun über jedes Element
in der Sequenz und weist dieses der Variable element
zu. In jeder Iteration wird dann der definierte Codeblock (in diesem Fall print(element)
) ausgeführt.
Die Range Funktion
In vielen von unseren einfachen Programmen, mussten wir eine fixe Anzahl mal iterieren. Wir haben folgendes Muster immer und immer wieder geschrieben:
i = 0
while i < 10:
print(i)
i = i + 1
Es wäre praktisch, wenn wir die for-Schleife auch für diesen Zweck einsetzen könnten. Nur wollen wir aber nicht jedes Mal eine Liste oder ein Tupel erzeugen. Dies wäre aufwändig und würde
Speicher verschwenden. Python stellt uns aber eine Funktion zur Verfügung, welche eine Sequenz von Zahlen generiert, ohne diese jedoch im Speicher zu behalten. Diese Funktion heisst range
.
Damit können wir obigen Code wie folgt schreiben:
for i in range(0, 10):
print(i)
Ausser, dass wir eine Zeile Code sparen, sind die Vorteile dieser Schreibweise, dass wir nie vergessen können, dass wir die Variable i
noch um eins erhöhen müssen.
Wenn wir uns einmal an die Schreibweise gewöhnt haben, dann wird die Absicht auch deutlicher.
Wir sehen direkt im Code durch die range
Funktion, dass wir eine fixe Anzahl Iterationen durchführen.
Im Gegensatz dazu, muss man bei der while
Schleife zuerst die Abbruchbedingung und den Schleifenrumpf analysieren, um dies zu sehen.
Code zum ausprobieren
Experimente
- Geben Sie mithilfe einer for-Schleife alle geraden Zahlen von 0 bis 100 aus.
- Geben Sie mithilfe zweier verschachtelter for-Schleifen das kleine Einmaleins aus. Dabei soll auf der ersten Zeile die Einerreihe, und auf der letzten Zeile die Neuerreihe stehen.
Fragen und Kommentare
Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.