Eine Python For Schleife ist eine große Hilfe beim Coden. Du kennst doch sicherlich auch diese Aufgaben, bei denen Du immer wieder das Gleiche machen musst. Mit unserem Tutorial und praktischen Tipps erleichtern wir Dir diesen Vorgang.
Inhaltsverzeichnis
- Was ist eine Python For Schleife?
- Wozu braucht man eine Python for Schleife?
- Python For Schleife – Anwendung und Aufbau
- For Schleife in Python – Die range()-Funktion
- Beispiel einer Python For Schleife
- Python For Schleife mit Sequenzen
- Einmal durchzählen bitte
- Eine Schleife in einer Schleife
- Literatur
- FAQs zur For Schleife in Python
Was ist eine Python For Schleife?
Eine Python For Schleife ist eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen in einem Block der For Schleife mit einer bestimmten Anzahl von Wiederholungen bzw. Listen-Argumenten ausführen kann. Dabei unterscheidet sich die Python For Schleife im Vergleich zu anderen Programmiersprachen enorm. In Python dient die For Schleife zur mehrfachen Wiederholung gleicher oder ähnlicher Anweisungen über eine Folge von Objekten. Eine Python For Schleife durchläuft also eine vorgegebene Liste, wobei auf einzelne Werte dieser Liste direkt zugegriffen werden kann. Somit ist die For Schleife in Python mit Listen eng verknüpft. Im Folgenden erklären wir den Aufbau der For Schleife und ihre Anwendungsmöglichkeiten.
Wozu braucht man eine Python for Schleife?
Wie Python verdeutlicht, gibt es auch in der Programmierung solche Aufgaben. Um Dir etwas Schreibarbeit zu sparen, kannst Du deshalb auf Schleifen zurückgreifen. Soll etwas wiederholt ausgeführt werden, sind Schleifen nämlich ein gutes Mittel. Hier wollen wir uns einmal die Python For Schleife ansehen. Falls Du nicht weißt, wie du Die Programmiersprache auf Deinen Computer bekommst, dann schau Dir einfach unseren Beitrag zum Python Download an. Aber auch unser Beitrag Einstieg in die Python IDLE wird Dir mit Sicherheit helfen.
Eine Python For Schleife kannst Du Dir wie ein Werkzeug vorstellen, mit dem Du bestimmte Aufgaben schneller erledigen kannst, als wenn Du es per Hand tun würdest. Denke zum Beispiel einmal an eine kleine Autorennbahn, denn vielleicht hast Du ja eine Zuhause. Die Autos drehen immer und immer wieder ihre Runden, bis Du sie schließlich anhältst. So etwas macht auch eine Python For Schleife für Dich. Denn sie fährt für Dich die Runden mit Deinem Code so lange ab, bis Du sagst, dass sie aufhören kann. Wie die Universität Tübingen berichtet, gibt es Schleifen in vielen Programmiersprachen.
Python For Schleife – Anwendung und Aufbau
Wie so eine Python For Schleife aufgebaut ist, kannst Du Dir in der folgenden Abbildung anschauen:
Das sieht vielleicht auf den ersten Blick etwas kompliziert aus. Aber keine Angst, Du wirst gleich sehen, dass es gar nicht so schwer ist, eine Python For Schleife zu erstellen.
Variable
Der Code der Python for Schleife beginnt dabei immer mit dem Wort „for“. Das bedeutet auf deutsch „für“. Nach diesem Wort gibst Du eine Variable an, welche für Dich mitzählt, wie viele Runden die Schleife schon gedreht hat.
Gut zu wissen:
Eine Variable speichert etwas für Dich. Du kannst sie Dir dabei am besten als eine Art Schatztruhe vorstellen, in der Du etwas reinpacken und auch wieder rausnehmen kannst. So eine Variable wird zum Beispiel verwendet, um in einem Spiel Deinen Punktestand zu speichern und anschließend aufzubewahren. Bei der Python For Schleife zählt sie hingegen die Runden für Dich mit.
Runde
Nun sagst Du der Python For Schleife, wie oft sie ihre Runden drehen soll. Dazu benutzt du das Wort „in“ und gibst danach die Anzahl der Runden an. Das tust Du mit einem Bereich oder einer Sequenz. Ein Bereich ist dabei etwa eine Zahlenfolge wie von 0 bis 5. Das heißt, dass Deine Schleife für Dich etwas 5-mal tut.
Sequenz
Eine Sequenz ist so ähnlich. Wenn Du zum Beispiel eine Liste mit den Namen Deiner Freunde aufstellst, die Du zu deinem Geburtstag einladen möchtest, dann hast du eine Sequenz erstellt. Die Python For Schleife dreht dann für jeden Namen eine Runde. Hast Du also 6 Namen auf Deiner Liste, dann wird sie 6-mal etwas für Dich ausführen.
Gut zu wissen: Die Wörter „for“ und „in“ werden beim Coding als Schlüsselwörter bezeichnet. In Python (und nicht nur in dieser Coding-Sprache) sind Schlüsselwörter Begriffe mit besonderer Bedeutung (Briggs, 2013). Ein Schlüsselwort ist also ein Wort, welches in der jeweiligen Programmiersprache schon mit einer bestimmten Bedeutung belegt ist. Man kann es dann nicht verwenden, um eine Variable oder eine Liste so zu benennen. Du musst Dir also andere schöne Namen für Deine Variablen überlegen.
Anweisung
Nachdem Du nun also für deine Python For Schleife die Variable und die Anzahl der Runden festgelegt hast, musst Du noch angeben, was die Python For Schleife für Dich tun soll. Das machst Du nach dem Doppelpunkt. Dort gibst Du eine oder mehrere Anweisungen ein. Eine Anweisung kannst Du Dir als Aufgabe vorstellen. Mit den Anweisungen bestimmst Du also, welche Aufgabe die Python For Schleife für Dich erledigen soll.
Merke Dir:
Eine Python For Schleife kannst Du immer dann anwenden, wenn Du genau weißt, wie oft eine bestimmte Anweisung ausgeführt werden soll.
Hier mal ein kleines Beispiel zum Vergleich, wie so eine Python For Schleife für uns Menschen klingen würde:
Tabelle 1: Python For Schleife für Menschen verständlich
Wie Python es versteht: | Wie wir Menschen es verstehen: |
for teilnehmer in namensliste: verschicke_Einladung | Für alle Teilnehmer, die auf der Namensliste stehen, soll eine Einladung verschickt werden. |
for ballon in ballons_ohne_luft_kiste: puste_ballon_auf | Für jeden Ballon, der noch in der Kiste mit Ballons ohne Luft ist, nehme den Ballon und puste ihn auf. |
for lied in musikliste: spiele_lied | Für jedes Lied in der Musikliste soll das Lied abgespielt werden. |
For Schleife in Python – Die range()-Funktion
Da Du nun weißt, wie eine Python For Schleife aufgebaut ist, kannst Du Deine ersten Schleifen erzeugen. Es gibt hierzu eine sehr hilfreiche Funktion: „range()“. Range bedeutet dabei „Bereich“ und eine Funktion ist so etwas wie ein kleines Mini-Programm. Dieses Mini-Programm fasst eine oder mehrere Aufgaben zusammen und Du kannst es einfach mit seinem Namen aufrufen und das sogar mehr als einmal.
Die range()-Funktion ist ein Mini-Programm und erstellt für Dich Zahlen in Deinem gewünschten Bereich. Du gibst Deinen Bereich dabei in die Klammern hinter dem Namen der Funktion an. Du kannst gleich loslegen und die Beispiele ausprobieren. Dazu öffnest du die Entwicklungsumgebung von Python, welche IDLE genannt wird. Eine Entwicklungsumgebung erleichtert Dir das Erstellen von Spielen und Programmen und enthält viele Python Funktionen. Wenn Du mit der Handhabung von Programmen noch nicht vertraut bist, kann Dir unser Computerkurs sicher weiterhelfen.
So öffnest Du IDLE in Deinem Betriebssystem:
- Windows: Im Suchfeld das Wort „IDLE“ eingeben und anklicken oder über das Startmenü den Python-Ordner suchen und darin IDLE anklicken.
- Mac: Im Finder den Ordner „Programme“ öffnen, den Python-Ordner suchen und öffnen und auf IDLE klicken. Alternativ auch über die Spotlight-Suche (CMD + Leertaste) und der Eingabe des Wortes „IDLE“ und Doppelklick auf die App.
- Linux: Öffne das Terminal-Fenster über das Startmenü oder Deine Verknüpfung und gebe den Befehl „idle3“ ein und bestätige mit Enter.
Hast du die IDLE geöffnet, sollte das Fenster bei Dir so ähnlich aussehen wie in der folgenden Abbildung:
Die drei Pfeile zeigen Dir an, dass Du gleich loslegen kannst mit dem Schreiben von Code. Deshalb starten wir jetzt auch mit einem einfachen Beispiel.
Beispiel einer Python For Schleife
Um ihre Arbeitsweise zu sehen, gibst Du der Python For Schleife nur eine Aufgabe. Sie soll die Variable, welche die Runden zählt, ausgeben. Das machst Du, indem Du die Funktion „print()“ verwendest. Print heißt soviel wie „drucken“ bzw. „ausgeben“. Damit werden Dir die Zahlen in dem IDLE-Shell-Fenster angezeigt.
Gebe das folgende Beispiel in Deine IDLE-Shell ein. Nachdem Du die Anweisung „print(zahl)“ eingegeben hast, musst Du zweimal die Enter-Taste drücken, damit die Python For Schleife weiß, dass sie ihre Arbeit beginnen kann.
In diesem Beispiel hast Du eine Python For Schleife erstellt, die 5-mal die Aufgabe „print()“ für Dich ausführt. Mit range(5) hast Du einen Bereich angegeben, welcher bei der Zahl 0 beginnt und dann bei 4 endet. Diese Schleife gibt Dir damit anschließend 5 Zahlen aus (0,1,2,3,4).
Die Startzahl festlegen
Aber was ist, wenn Du mal nicht bei 0 anfangen möchtest oder kannst? Um nicht bei 0 anzufangen, kannst Du ganz einfach in den Klammern der range()-Funktion die Zahl angeben, bei der Du starten möchtest. Wenn Deine Python for Schleife zum Beispiel bei 3 statt bei 0 anfangen soll, sieht das so aus:
Mit der ersten Zahl in der Klammer gibst Du Deinen Startwert an. Mit der Zahl nach dem Komma legst Du das Ende Deines Bereiches fest. Diese Schleife läuft also von 3 bis 5. Da der Anfangswert häufig auf 0 gesetzt wird, kann er in der Anweisung auch weggelassen werden (vgl. Fässler, L., Sichau, D., & Dahinden, M., 2020). Dies wirst Du bestimmt noch sehr oft sehen, wenn es um Schleifen in Python geht.
Zahlen überspringen
Es gibt noch eine weitere Zahl, die Du der Funktion range() übergeben kannst. Übergeben sagt man, wenn man etwas in die Klammern einer Funktion eingibt. Du kannst neben dem Startwert und dem Endwert auch noch zusätzlich angeben, ob Zahlen übersprungen werden sollen. Das heißt, Du kannst zum Beispiel festlegen, dass nur jede zweite Zahl aus Deinem Bereich für Deine Python For Schleife verwendet werden soll. Am besten schaust Du Dir das auch einmal an einem kleinen Beispiel an:
Du hast hier mit range(3,8,2) einen Bereich erstellt, der bei 3 beginnt und bis 8 geht und bei dem zusätzlich immer eine Zahl übersprungen wird. Mit der letzten Zahl in der Klammer (hier die 2) hast Du der range()-Funktion gesagt, dass sie nur jede 2. Zahl nutzen soll. Als Ausgabe erhältst Du die Zahlen 3, 5 und 7.
Das folgende Bild zeigt Dir noch einmal, welche Eingaben Du in der Klammer der range()-Funktion machen kannst. Dabei gibst Du mit dem Start-Wert den Beginn des Bereiches bekannt. Mit dem Stopp-Wert sagst Du, wo der Bereich aufhört und mit der Schrittweite gibst Du an, welche Zahlen genutzt werden sollen.
Python For Schleife mit Sequenzen
Weiter oben hattest Du schon einmal kurz etwas von einer Sequenz gehört. Das war die Namensliste Deiner Freunde, die Du zu Deinem Geburtstag einladen möchtest. Sequenzen kannst du Dir also am besten als eine Liste vorstellen: Denn es handelt sich um eine Abfolge von Namen, welche nicht untereinander, sondern nebeneinander geschrieben sind.
Damit du auch einmal ausprobieren kannst, wie so eine Python For Schleife mit einer Sequenz erstellt werden kann, haben wir hier ein Beispiel für Dich. Als erstes erstellst Du in diesem Beispiel eine Liste mit den Namen Deiner Freunde und diese Liste nennst Du „freunde“.
Eine Liste wird in Python mit eckigen Klammern [] erstellt. Die Namen Deiner Liste werden in diese Klammern geschrieben. Dabei muss nach jedem Namen ein Komma stehen. Ganz ähnlich würdest Du es bestimmt auch auf einem Blatt Papier machen, oder? Nur hier darfst Du nicht vergessen, dass Wörter entweder mit doppelten oder einfachen Anführungszeichen stehen müssen, damit Python weiß, dass es sich um Text handelt.
Die Variable für Deine Schleife hat in diesem Beispiel den Namen „freunde“ erhalten. Damit nimmt Sie bei jeder Runde, die die Schleife dreht, den Namen aus Deiner Liste „freunde“ auf. Mit der print()-Funktion hast Du der Schleife zudem wieder gesagt, dass sie Dir die Namen ausgeben soll, damit Du Deine Liste sehen kannst.
Einmal durchzählen bitte
Stell Dir einmal vor, Du möchtest nun alle Deine Freunde in der Liste durchnummerieren. Denn für bestimmte Programme kann dieses Nummerieren sehr nützlich sein. Beim Coden wirst Du das zudem noch genauer sehen und anwenden können.
Bei der Python For Schleife kannst Du die Funktion „enumerate()“ dazu verwenden, die Namen in Deiner Liste „freunde‘ durchzunummerieren. Damit die Namen Deiner Freunde eine Nummer bekommen können, brauchst Du eine weitere Variable.
In dem folgenden Beispiel gibst Du dieser Variable den Namen „nummer“. Damit hast du für Deine Schleife nun zwei Variablen: nummer und freund. Als nächstes verwendest Du dir Funktion „enumerate()“. In den Klammern dieser Funktion schreibst Du den Namen deiner Liste, die Du verwenden möchtest (hier: freunde).
An der Aufgabe, die diese Schleife von Dir bekommt, ist nicht so viel anders als zuvor. Sie soll einfach Deine beiden Variablen ausgeben. Dazu trägst Du die Namen der beiden Variablen einfach, mit einem Komma getrennt, in die Klammern der print()-Funktion ein.
Wie in dem Beispiel davor werden nun die Namen Deiner Freunde ausgegeben. Jetzt hat jedoch jeder Name eine Nummer erhalten. So einfach kannst Du all Deine Freunde in der Liste einmal durchzählen!
Eine Schleife in einer Schleife
Stellst Du Dir vielleicht die Frage, ob man eine Python For Schleife auch in eine andere Schleife als Aufgabe schreiben kann? Ja, das kannst Du tun! Das kommt beim Coden sogar häufig vor. Man sagt dazu, dass die Schleifen verschachtelt sind, also eine in der anderen enthalten ist: So wie Du eine Schachtel in eine andere tun kannst.
Am besten probierst Du es gleich einmal aus. Erstelle dazu zwei Listen. Die eine Liste enthält dabei die Zahlen 1, 2 und 3 und die andere Liste enthält die Zahlen 4, 5 und 6. Diese beiden Listen werden genauso erstellt wie Deine Liste mit Deinen Freunden. Nur werden die Zahlen nicht in Anführungszeichen eingepackt wie zuvor die Namen.
Die erste Schleife erstellst Du dabei wie du es in den anderen Beispielen getan hast. Du gibst der Variablen für die erste Schleife den Namen „zahl_1“ und gibst dann Deine erste Liste (liste_Eins) an.
Die zweite Schleife gibst Du nun dort ein, wo Du in den anderen Beispielen Deine Anweisung geschrieben hast. Für diese zweite Schleife gibst Du der Variablen den Namen „zahl_2“ und gibst dann anschließend Deine zweite Liste (liste_Zwei) an.
Diese zweite Schleife erhält nun von Dir eine Aufgabe, die sie ausführen soll. Sie soll die Zahl, welche in der Variablen „zahl_1“ gespeichert ist mit der Zahl, die in der Variablen „zahl_2“ gespeichert ist, zusammenrechnen. Die Zahlen und das Ergebnis der Rechnung, sollen anschließend ausgegeben werden, sodass Du sie Dir genau anschauen kannst.
Ansicht im Detail
Du erkennst vielleicht nicht gleich, was hier genau passiert. Die folgende Tabelle soll Dir dabei helfen, den Ablauf zu verstehen. Denn sie zeigt die erste Schleife und die Runden die sie dreht.
Tabelle 2: Python For Schleife – Ansicht der ersten Schleife im Detail
1. Runde (zahl_1 = 1) (erste Schleife) | 2. Runde (zahl_1 = 2) (erste Schleife) | 3. Runde (zahl_1 = 3) (erste Schleife) |
1 + 4 = 5 1 + 5 = 6 | 2 + 4 = 6 2 + 5 = 7 | 3 + 4 = 7 3 + 5 = 8 |
In der Tabelle kannst Du gut sehen, was in der ersten Schleife bei jedem Durchlauf passiert. Es wird die erste Zahl der ersten Liste genommen und damit die zweite Schleife einmal vollständig durchlaufen. Du erkennst dies dabei anhand der zweiten Zahl (zahl_2), welche sich ändert. Damit zeigen Dir die Zahlen 4, 5 und 6 die Durchläufe der zweiten Schleife an.
Wie Du gesehen hast, ist es ganz einfach und nützlich mit Python For Schleife zu arbeiten. Denn so kannst Du Anweisungen mehrfach für eine Menge an Elementen ausführen und musst dies nicht für jedes Element einzeln tun. Damit sparst Du in deinem Code sehr viel Platz und sparst Dir zudem Zeit beim Schreiben. Wusstest Du übrigens, dass es außerdem noch die Python while Schleife gibt?
Literatur
Briggs, J. (2013): Python kinderleicht: Einfach programmieren lernen – nicht nur für Kids. dpunkt.verlag.
Fässler, L., Sichau, D., & Dahinden, M. (2020): Programmieren mit Python und Matlab. BoD.
FAQs zur For Schleife in Python
Eine For Schleife in Python führt Deine Anweisungen immer wieder aus. Die Häufigkeit kannst Du dabei angeben. Sie wiederholt also Deine Anweisung(en) immer wieder, bis Deine gewünschte Anzahl erreicht ist. Mehr Infos hierzu findest Du auf der Seite der Universität Paderborn.
Die Funktion range() wird bei For Schleifen in Python dazu verwendet, einen Bereich anzugeben. Ein Bereich ist etwa eine Zahlenfolge von 0 bis 10 oder von 5 bis 13. Mit der range()-Funktion kannst Du der Schleife also sagen, wie oft sie für Dich die Anweisungen ausführen soll.
Die Funktion enumerate() hilft Dir dabei, die Einträgen einer Sammlung (z.B. in einer Liste) zu nummerieren. Sie gibt Dir die Einträge dann anschließend nummeriert zurück. Man sagt auch, dass jedes Element einen Index erhält.
Ja, man kann For Schleifen in Python auch verschachteln. Das bedeutet, du kannst eine Schleife in eine andere schreiben. Dies kommt beim Coden sogar sehr häufig vor.
Ja, Du kannst Listen und zudem auch Sets für deine Schleifendurchläufe verwenden.