Python Tutorial
- jetzt Python programmieren lernen

die for-Schleife in Python

Und gibt weitere Arten von Schleifen. Je nach Anwendung spart die geschickte Wahl der Schleife Programmierbarkeit. Und um das geht es ja beim Programmieren – eine zeitsparende Lösung mit dem geringstmöglichen Aufwand.

Schauen wir uns die for-Schleife an. In Python ist diese eng verbunden mit Listen. Daher sollte man vor diesem Kapitel das Kapitel mit Schleifen sich zu Gemüte geführt haben.

Die for-Schleife durchläuft eine vorgegebene Liste und wir können direkt die Einzelwerte der Liste verwenden.

Nehmen wir wieder unsere Liste mit den Vornamen:

vornamen = ['Axel', 'Elke', 'Martin']

Diese soll nun über die for-Schleife durchlaufen werden und jeder Einzelwert ausgegeben werden.

vornamen = ['Axel', 'Elke', 'Martin']
for einzelwert in vornamen:
	print(einzelwert)
print("nach der for-Schleife")

Als Ergebnis erhalten wir nun folgende Ausgabe:

Axel
Elke
Martin
nach der for-Schleife

Bemerkenswert ist der große Unterschied der for-Schleife zu anderen Programmiersprachen. Allerdings ist der Aufbau sehr geschickt, sobald man sich daran gewöhnt hat. Kenn man keine andere Programmiersprache, dann ist die Anwendung der for-Schleife einfach zu verstehen.

Im Klartext ausgedrückt wäre die for-Schleife: solange es Einzelwerte in der Liste "vornamen" gibt, durchlaufe die Schleife (sprich den eingerückten Bereich danach). Dort stehen dann in der Variablen "einzelwert" der in diesem Durchlauf aktuelle Wert der Liste zur Verfügung".

Im ersten Durchgang wird in der Liste "vorname" der Wert "Axel" ausgelesen und in die Variable "einzelwert" eingetragen. Diese lassen wir dann im Inneren der Schleife über print(einzelwert) ausgeben.

Dann überprüft Python, ob ein weiterer Wert in der Liste "vornamen" vorhanden ist. Das ist der Fall. Somit läuft die Schleife eine zweite Runde und die Variable "einzelwert" wird durch den Wert "Elke" überschrieben, die dann ausgegeben wird.

Im dritten Durchgang überprüft Python wieder, ob ein weiterer Wert in der Liste "vornamen" vorhanden ist. Das ist der Fall – wieder wird die Variable "einzelwert" mit dem Wert "Martin" überschrieben und im Schleifenkörper ausgegeben.

Wieder überprüft Python, ob ein weiterer Wert in der Liste vorhanden ist. Dies ist nach den ersten 3 Werten nicht mehr der Fall. Unsere Liste verfügt nur über diese 3 Werte. Die for-Schleife ist beendet.

Dabei ist es egal, ob in der Liste Zeichenketten oder Zahlen oder ein Mischmasch steht.

vornamen = ['Axel', 108,  'Elke', 30, 'Martin', 22]

Jetzt hätten wir eine gemischte Liste mit Zahlen (Integer) und Zeichenketten (String). Jetzt müssen wir darauf achten, was wir mit den Ergebnissen anstellen. Mit den Zahlen könnten wir zwar rechnen, aber nicht mit den Strings. Da ist einfach gesunder Menschenverstand angesagt, was man mit den zur Verfügung stehenden Variablen so treibt.

if-Abfragen in Schleifen

Wir können auch if-Abfragen in Schleifen einbauen. Dann wird die Einrückung entsprechend tiefer und bei jedem Durchlauf wird diese if-Bedingung überprüft. In unserem Beispiel wollen wir schauen, ob der Wert z.B. "Axel" ist und entsprechend darauf reagieren.

Unser bisheriges Programm sieht wie folgt aus:

vornamen = ['Axel', 'Elke', 'Martin']
for einzelwert in vornamen:
	print(einzelwert)
print("nach der for-Schleife")

Jetzt gehen wir in die for-Schleife und überprüfen mit folgender if-Abfrage:

if einzelwert = "Axel"
	print("Ich")
else
	print(einzelwert)

Nun müssen wir beide Programmteile zusammenbringen. Hier ist nur die Schachtelung wichtig und dass entsprechend eingerückt wird. Unsere if-Abfrage muss also tiefer eingerückt werden, da diese ja in den Schleifenkörper von unserer for-Schleife muss:

vornamen = ['Axel', 'Elke', 'Martin']
for einzelwert in vornamen:
	if einzelwert == "Axel":
		print("Ich")
	else:
		print(einzelwert)
print("nach der for-Schleife")

Als Ausgabe erhalten wir nun:

Ich
Elke
Martin
nach der Schleife

Ja, ja ich weiß – der Esel nennt sich immer zuerst (aber woher kommt dieses Sprichwort?).