Python

Grundlagen der for-Schleife in Python (für Anfänger)

Sei die Erste, die diesen Beitrag teilt!

Egal, ob Anfänger oder Fortgeschritten, eine for-Schleife ist ein wichtiger Baustein in deinem Code oder Algorithmus. Du solltest nicht nur die Funktionsweise verstehen, sondern auch, wann du sie einsetzt und wie du den Code dazu richtig schreibst. In diesem Beitrag findet du eine anfängerfreundliche Erklärung der for-Schleife in Python. Falls du dich schon etwas auskennst, ist dir das vielleicht etwas zu langweilig. Aber ganz am Ende des Beitrags gibt es noch Beispiele für dich.

Was ist eine for-Schleife?

Eine for-Schleife ist eine Zählerschleife, die in Algorithmen und deshalb beim Programmieren zum Einsatz kommt. Du brauchst for-Schleifen, wenn ein bestimmter Codeabschnitt nicht nur einmal, sondern wiederholt ausgeführt werden soll.

Wir nehmen einfach mal ein ganz ganz simples Beispiel. Du möchtest, dass auf deiner Console in Python die Worte „Hello World!“ erscheinen. Aber nicht nur einmal, sondern 5-mal nacheinander.

Dazu verwendest du eine for-Schleife. Das Ganze sieht dann so aus:

for-Schleife in Python-Code. Es erscheint 5-mal "Hello World!" auf der Console.
5-mal „Hello World!“ auf der Console

(Falls du das mit dem „Hello World!“ noch nie gesehen hast und deine ersten Schritte mit Python machen willst, dann starte hier.)

So implementierst du eine for-Schleife in Python

Nun, wie haben wir das hingekriegt, dass 5-mal „Hello World!“ erschien? Schau den Code im vorherigen Bild genau an. Wir schreiben das Wort for und dann den Namen einer Variablen. Hier in meinem Beispiel heißt sie zaehler.

Der Name ist aber zumindest in diesem Beispiel völlig egal, wir gehen später nochmal drauf ein, wann das wichtig ist.

Jetzt kommt etwas ganz wichtiges! Nach dem Namen der Zählvariablen zaehler steht das Wort in. Das darfst du nicht vergessen!

Anschließend braucht es noch eine Liste, hier [1,2,3,4,5]. Diese sagt uns welche Werte die Zählervariable zaehler annimmt und wann die for-Schleife endet. Anschließend beendest du deinen Befehl mit einem Doppelpunkt : .

Kurz gesagt, du sagst deinem Python-Programm mit den Worten for und in, dass du nun eine for-Schleife machen möchtest.

for … in … :

Was noch? Jetzt kommt alles, was innerhalb deiner for-Schleife passieren soll. Bei uns ist das der Befehl print(„Hello World!“). Wie du sicher bemerkt hast, ist dieser eingerückt.

Inhalt der for-Schleife eingerückt

Hier nochmal das gleiche Beispiel wie vorhin. Allerdings habe ich die Zählervariable nun i, anstatt zaehler genannt. Nur, damit du siehst, dass es bisher keine Rolle spielt, wie du sie nennst.

Achte in dem folgenden Bild auf die Tatsache, dass print(„Hello World!“) eingerückt ist.

for-Schleife in Python, es erscheint 5-mal "Hello World!" auf der Console.
for-Schleife in Python-Code

Der Strich in Zeile 2 verdeutlicht, dass ich den Inhalt der for-Schleife eingerückt habe. So weiß Python, was innerhalb der for-Schleife passiert und was danach.

Schau dir folgendes Beispiel an. Ich will 5-mal erneut „Hello World!“ und anschließend den Ausdruck „MINT first.!“ auf der Console erscheinen lassen. Das bedeutet Letzteres darf nicht innerhalb der for-Schleife stehen, sonst wird es auch 5-mal erscheinen.

Beispiel 1:

Python-Code. Nun erscheint 3-mal "Hello World!" und einmal anschließend "MINT first.!" auf der Console.
for-Schleife in Python, „MINT first.“ nicht eingerückt

In Zeile 3 siehst du, dass print(„MINT first.!“) nicht eingerückt ist. Also ist dieser Ausdruck außerhalb der for-Schleife und wird danach ausgeführt.

Da muss man echt genau hinschauen.

Beispiel 2:

Python-Code. Nun erscheint 3-mal "Hello World!" UND "MINT first.!" immer im Wechsel auf der Console.
for-Schleife in Python, „MINT first.“ auch eingerückt

Du siehst direkt den Unterschied. Der Befehl print(„MINT first.!“) ist auch eingerückt und erscheint deshalb 5-mal direkt nach „Hello World!“ auf der Console.

Wie viele Leerzeichen einrücken bei der for-Schleife Python?

Im offiziellen Python Style Guide PEP-8 (auf englisch) wird empfohlen vier Leerzeichen einzurücken. Nicht nur bei for-Schleifen. Ich verwende den Online-Editor replit.com und dieser rückt automatisch entsprechende Zeilen ein, allerdings nur ein Tab bzw. in dem Fall zwei Leerzeichen. Besser wäre es, ich würde manuell vier Leerzeichen tippen.

Das ist für einen Anfänger vielleicht noch nicht so wichtig. Dennoch, trainiere dir am besten direkt an, vier Leerzeichen zu tippen. Denn so machen es die meisten Python-Coder und es gehört zum guten Stil. (Auch wenn ich es in diesen Beispiel dank replit.com anders mache 🙃 ).

Unabhängig davon ist es wichtig, dass du konsistent bist. Das heißt, dass du dich einmal entscheidest und dann immer die gleiche Anzahl an Leerzeichen innerhalb deines Codes verwendest.

Zusammenfassung

  1. Der Code lautet: for … in … : (Vergesse niemals die Befehle „for“, „in“ und den Doppelpunkt „:“)
  2. Die Zählervariable kannst du nennen, wie du willst. Je nach Kontext bieten sich verschiedene Methoden an. (for zaehler in … : oder for i in … : oder for k in … : oder for durchgang in … : , etc. )
  3. Ergänze die Liste mit den Werten, die die Zählvariable annimmt. Z.B. for zaehler in [1,2,3] : oder for zaehler in [2,4,6] : oder for zaehler in range(1,7) : oder for i in [„Hans“, „Hallo“, 3.13] :
  4. Alles was innerhalb der for-Schleife passiert muss eingerückt werden. Am besten vier Leerzeichen tippen.

Ich kann es nicht genug betonen, aber das Wichtigste ist, dass du alle Leerzeichen und Symbole richtig verwendest. Die allermeisten Fehler sind Flüchtigkeitsfehler, also zum Beispiel das Vergessen einer Klammer, des Doppelpunkts oder Tippfehler. Deshalb musst du beim Programmieren sehr vorsichtig arbeiten. Auch die Groß- und Kleinschreibung muss beachtet werden.

Aufgaben zur for-Schleife in Python

Es gibt noch drei Dinge, die wir noch nicht besprochen haben. Erstens war es bisher egal, was die Zählervariable macht und wie sie heißt. Zweitens kam in der Zusammenfassung der Befehl range(1,7) vor, den wir noch nicht kennen. Und wir haben in der Zusammenfassung gesehen, dass in der Liste nicht nur ganze Zahlen (int) stehen müssen, sonder auch Zeichenketten (strings) oder Kommazahlen (floats) erlaubt sind.

Um noch mehr blabla zu vermeiden, gebe ich dir nun fünf Beispiele bzw. Aufgaben mit Lösungen, die du auch selbst coden kannst.



Verbessere deine Python-Skills und abonniere meinen Newsletter! 1x monatlich bekommst du kostenlos 10 Aufgaben mit Lösungen zum Programmieren mit Python in dein Postfach und ein paar News von mir und aus der Tech-Welt. Kein Spam, versprochen! 🙋‍♀️



Nun zu den Aufgaben zur for-Schleife. Überlege dir zuerst, was auf dem Bildschirm erscheinen soll und, wie du es codest, bevor du die Lösung anschaust. Klicke auf die grauen Balken, um Tipps oder Lösungen angezeigt zu bekommen.

Du solltest für die Aufgaben am besten Kenntnisse über Variablen, Datentypen, Mathematische Operatoren, Listen und den print- und input-Befehl in Python haben.

Aufgabe 1

Deklariere eine Variable x und weise ihr den Wert 5 zu. Anschließend soll auf die Variable x die Zahl 3 addiert werden und der neue Wert von x auf der Console ausgegeben werden, dann nochmal und dann nochmal. Also addiere dreimal nacheinander die Zahl 3 auf dein x.

Ausgabe:
Console in Python mit den Werten 8, 11, 14
Das soll auf der Console erscheinen

Es wird zuerst 5+3=8 erscheinen, dann wieder +3, also 8+3=11 und anschließend 11+3=14.

Tipp:

Die for-Schleife muss drei Durchgänge haben, also wähle zum Beispiel die Liste [1,2,3] bzw. range(1,4). (Vielleicht weißt du nachher auch ohne weitere Erklärung, was range(1,4) macht?)

Lösung:
Lösung Aufgabe 1

Aufgabe 2

Lasse die Zahlen 1 bis 10 untereinander auf der Console erscheinen.

Ausgabe:
Das soll auf der Console erscheinen
Tipp:

Nun musst du die Zählervariable auch innerhalb der for-Schleife wieder verwenden. Da sich bei jedem Durchgang die Ausgabe ändert.

Lösung:
Lösung Aufgabe 2

Anstatt range(1,11) hätte ich auch [1,2,3,4,5,6,7,8,9,10] schreiben können. Das war mir nur zu umständlich. Ich bin mir sicher, dass du langsam verstehst, was für eine Liste du mit range(1,5) oder range (1,34) erhälst.

Aufgabe 3

Erstelle eine Liste namen, die vier Namen von Personen enthält. Anschließend soll jede Person der Liste nacheinander mit „Hallo name!“ begrüßt werden.

Ausgabe:
Das soll auf der Console erscheinen

Die Namen darfst du dir natürlich selbst aussuchen.

Lösung:
Lösung Aufgabe 3

Achte auf die richtigen Leerzeichen innerhalb der strings.

Aufgabe 4

Du hast eine Variable x mit dem Wert 5 und eine Variable y mit dem Wert 2. Nun möchtest du zu deinem x die Zahl 3 addieren und von y die Zahl 1 subtrahieren. Und das Ganze 100-mal nacheinander. Am Ende möchtest du die neuen Werte von x und y wissen. Nicht nach jedem Schritt.

Tipp:

Um die Zahl 3 zu x zu addieren schreibst du entweder x = x + 3 oder x += 3. Die zweite Variante erfordert in Python weniger Rechenzeit. Ist aber für einen Anfänger manchmal komisch vorzustellen. Genauso verhält es sich mit Minus.

Ausgabe:
Das soll auf der Console erscheinen
Lösung:
Lösung Aufgabe 4

Wie in meinem Tipp erwähnt, kannst du anstatt x += 3 auch x = x + 3 bzw. anstatt y -= 1 auch y = y – 1 schreiben.

Aufgabe 5

Schreibe einen Code der die Fakultät der Zahlen 2, 4 und 12 berechnet. Achtung: Du musst das für jede der drei Zahlen einzeln machen, da wir bisher keine Funktionen (functions) gelernt haben.

Tipp:

Die Fakultät einer Zahl ist das Produkt aller natürlichen Zahlen von 1 bis zu dieser Zahl. Das heißt die Fakultät von 4 ist 1*2*3*4 = 24 oder die Fakultät von 2 ist 1*2 = 2. Außerdem ist die Fakultät von 12 die Zahl 479001600.

Ausgabe:
Das soll auf der Console erscheinen

Lösung:
Lösung Aufgabe 5

Wie du sehen kannst ist es wichtig die Variable fakultaet einzuführen. Diese wird dann in der for-Schleife mit jedem Durchgang mit einer weiteren Zahl multipliziert. Außerdem habe ich die Zahl n in der Liste range(1,n+1) verwendet.

Das ist ein wichtiger Aspekt. Falls dir in der Zukunft mal eine Übungsaufgabe begegnet, in der eine Zahl noch nicht vorher bekannt ist. Dann muss man die Liste so erstellen, also mit range. Man kann ja sonst nicht wissen, wie viele Zahlen man in die eckigen Klammern schreiben soll.

Ich hoffe ich konnte dir das Konzept einer for-Schleife vermitteln. Jetzt bist du bereit und kannst noch mehr Aufgaben zum Thema for-Schleife lösen. Schau mal bei einer Suchmaschine deiner Wahl, da findest du bestimmt sehr sehr viele Aufgaben.

Falls du jemand bist, der gerne mit Büchern arbeitet, dann könnte eventuell eines der folgenden Bücher etwas für dich sein. Dort findest du auch viele Übungsaufgaben.

Für Fortgeschrittene habe ich hier noch eine schwierigere Übungsaufgabe, bei der du einen Sternenbaum bzw. Weihnachtsbaum mit einer for-Schleife programmierst. Auch wenn momentan nicht Weihnachten ist, kannst du viel durch die Aufgabe lernen.

Lass mir gerne ein Kommentar da, wenn du Fragen oder Anregungen hast!

Für dich vielleicht ebenfalls interessant...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert