4.2 Schleife
In diesem Kapitel lernen Sie die Schleifenstrukturen in Python kennen.
📜 Übersicht Schleifenarten
In Python gibt es zwei Haupttypen von Schleifen, um Codeblöcke wiederholt auszuführen: for-Schleifen und while-Schleifen. 
| Schleifenart | Beschreibung | 
|---|---|
| while-Schleife | Wiederholt eine Sequenz von Anweisungen, solange eine Bedingung erfüllt ist. Eine while-Schleife ist gut, wenn die Anzahl der Schleifendurchläufe nicht klar ist. | 
| for-Schleife | Wiederholt eine Sequenz von Anweisungen für jedes Element einer Sammlung (z.B. Liste, Tuple, String). Eine for-Schleife ist gut, wenn die Anzahl der Schleifendurchläufe definiert ist. | 
Die while-Schleife kennen wir schon.
🔂 Verwendung der while-Schleife
Eine while-Schleife wird verwendet, wenn Sie eine Schleife benötigen, die solange läuft, bis eine bestimmte Bedingung nicht mehr erfüllt ist oder bis eine bestimmte Bedingung endlich erfüllt ist.
Beispiele für while-Schleifen
- 
Endlosschleife 
- 
Einfaches Beispiel Diese Problemstellung kann man besser mit einer for-Schleife lösen, da die Anzahl der Durchläufe klar ist.
Die while-Schleife verwendet man, wenn eine Endlosschleife benötigt wird oder wenn unklar ist, wie lange es dauert, bis der Zustand True erreicht wird (beispielsweise bei der unbeschränkten Möglichkeit ein Passwort richtig einzugeben). 
🔁 Verwendung der for-Schleife
Eine for-Schleife wird verwendet, wenn wir eine festgelegte Anzahl von Iterationen durchlaufen möchten oder über eine Sammlung von Elementen iterieren müssen.
Auch bei Schleifen die richtige Einrückung entscheidend. Jeder Codeblock, der zu einer Schleife gehört, muss entsprechend eingerückt werden, um die Struktur des Programms korrekt darzustellen.
Beispiele für for-Schleifen
- 
Einfaches Beispiel Das Ergebnis:iist hier eine Laufvariable, die nach nach dem Beenden der for-Schleife den letzten wert beibehält (alsoi=4)
 Durchlauf: 0
 Durchlauf: 1
 Durchlauf: 2
 Durchlauf: 3
 Durchlauf: 4
 
- 
Iteration über eine Liste Hier ist nun Ergebnis:farbedie Laufvariable
 rot
 grüne
 blau
 
- 
Iteration über ein Dictionary - Keys verwenden Ergebnis:
 name
 ort
 
- 
Iteration über ein Dictionary - Values verwenden Ergebnis:
 Alice
 Wunderland
 
- 
Iteration über ein Dictionary - Keys und Values verwenden Ergebnis:
 name Alice
 ort Wunderland
 
- 
Verschachtelte Schleifen Die Ausgabe lautet: 
 0 0
 0 1
 1 0
 1 1
 2 0
 2 1
Aufgabe verschachtelte Schleife
Wie lautet die Ausgabe nun?
Verwendung von 🛑 break und  ⏭️continue
In Python können Sie die Anweisungen break und continue verwenden, um den Fluss einer Schleife zu steuern:
- break: Bricht die Schleife vollständig ab und fährt mit dem nächsten Codeblock nach der Schleife fort.
- continue: Überspringt den aktuellen Schleifendurchlauf und beginnt mit dem nächsten Durchlauf.
Beispiel für break und continue
Klausurrelevant
In der Prüfung müssen Sie in der Lage sein, sowohl for-Schleifen als auch while-Schleifen anzuwenden und auch zu verstehen, wie Sie break und continue sinnvoll einsetzen.
🔌 Pi Pico Script
Wir nehmen das Pi Pico-Board und lassen die interne LED blinken, wobei die Blinkdauer mithilfe einer Schleife und Listen variiert wird.
In diesem Code wird die Variable duration in den for-Schleifen verwendet, um die Dauer (in Sekunden) zu speichern, die die LED bei jedem Schritt ein- bzw. ausgeschaltet bleibt. Das Wort duration wurde gewählt, damit klar wird, dass es sich um eine Zeitdauer handelt.
Die Schleife for duration in sos: bedeutet, dass die Variable duration nacheinander die Werte aus der Liste sos annimmt, also erst 0.2, dann 0.2, dann 0.2 usw. Für jeden dieser Werte wird die LED für die entsprechende Dauer eingeschaltet, dann eine kurze Pause gemacht, und der Vorgang wird für das nächste Element in der Liste wiederholt.
Es ist wichtig zu verstehen, dass der Name duration nur eine Hilfsvariable ist. Man könnte diese Variable auch i, step oder einen anderen beliebigen Namen nennen. Der Name sollte jedoch sinnvoll gewählt werden, um den Code lesbarer zu machen. Wenn Sie duration verwenden, ist sofort klar, dass es sich um die Dauer der LED-Leuchtdauer handelt. Wenn Sie stattdessen i oder step verwenden würden, wäre die Bedeutung weniger offensichtlich, aber der Code würde genauso funktionieren.
Aufgabe (Klausurniveau)
Schreiben Sie ein Script, das SOS morsen lässt, indem Sie ein dictionary verwenden, um die Morsezeichen für die Buchstaben S und O zu speichern. Verwenden Sie das dictionary, um die LED entsprechend blinken zu lassen.
Lösung
Aufgabe (Klausurniveau)
Schreiben Sie ein Script, das die LED 10 Mal mit abnehmender Geschwindigkeit blinken lässt.
Lösungen
Aufgabe Bewegen auf dem Display
- Schreiben Sie ein Script, das "Moin" auf dem Display zeigt.
- Nun soll "Moin" auf dem Display von oben nach unten wandern. Verwenden Sie dafür eine for-Schleife