Materialien zum Unterricht

Zyklen

Ein Zyklus(Schleife) wird benötigt, um einen Codeblock wiederholt auszuführen.

In Python gibt es 2 Schleifentypen: Die while()-Schleife und die for()-Schleife.

Beim Calliope Mini gibt es verschiedene Schleifen, mit verschiedenen Abbruchbedingungen.

Die while()-Schleife

Als erstes werden wir genauer auf die while()-Schleife eingehen.

Klicke auf den Button um zur while()-Schleife zu navigieren.

while()-Schleife

Die for()-Schleife

Als nächstes ist die for()-Schleife dran.

Klicke auf den Button um zur for()-Schleife zu navigieren.

for()-Schleife

while()-Schleife oder for-Schleife?

Bei for-Schleifen - Aufgabe 1 hat man das Programm zu Sequentielle Datentypen - Aufgabe 2b) mit einer for-Schleife um 2 Zeilen Code gekürzt.

Gleiches Programm einmal mit while-Schleife, einmal mit for-Schleife

Je nachdem, welche Funktionen eine Schleife erfüllen soll, bietet sich die eine oder die andere Schleife an.

Wenn man eine Aktion wiederholen möchte, solange eine Bedingung erfüllt ist nutzt man eine while()-Schleife.

Eine for()-Schleife wird genutzt, wenn man über eine Sequenz iterieren möchte, wie z.B. über eine Liste, ein Tupel, einen String oder ein anderes iterierbares Objekt.

Zum besseren Vergleich werden die Merkmale in der untenstehenden Tabelle nochmal aufgeführt.

while-Schleife for-Schleife
Beschreibung Wiederholung einer Aktion, solange eine Bedingung erfüllt ist.
→kopfgesteuerte Schleife
Iteration über eine Sequenz wie Listen, Tupel, Strings oder andere iterierbare Objekte.
→Zählschleife
Aufbau
while i operator integervariable:
#do Anweisungen
i += 1
for i in listenname:
#do Anweisungen
Laufvariable erstellen muss vor dem Schleifenaufruf erstellt werden muss nicht extra erstellt werden
Laufvariable ändern muss innerhalb der Schleife
hoch- oder runtergezählt werden
wird am Ende der Schleife
automatisch hoch- oder runtergezählt
Schrittweite kann innerhalb der Schleife beliebig angepasst werden kann nur einmalig vor Beginn der Schleife festgelegt werden
Bedingungs-Test Die Bedingung wird nach jedem Schleifendurchlauf überprüft Die Elemente oder Länge des sequentiellen Datentyps werden nur beim erstmaligen aufrufen der Schleife abgefragt.
Beispiel
Anwendung
  • Verarbeitung von Benutzereingaben, wenn die Anzahl der Durchläufe oder die Bedingungen für den Schleifenabbruch vorher nicht bekannt sind.
  • Implementierung von Endlosschleifen.
  • Warten auf eine bestimmte Bedingung oder Ereignis.
  • Verarbeitung von Datenströmen, bis ein bestimmtes Kriterium erfüllt ist.
  • Durchlaufen von Elementen in einer Sammlung oder einer Datenstruktur.
  • Ausführen einer bestimmten Anzahl von Iterationen mit einer definierten Schrittweite.
  • Vereinfachte Schleifen für Lesbarkeit und Kürze des Codes.

Übungen mit while() und for()

Ob die Schleifen richtig verstanden wurden, kann man hier testen.

Löse die Aufgaben erst mit einer while()-Schleife, danach mit einer for()-Schleife.

Aufgabe 1: Zahlen

Programmname: a1_zahlen.py

Es sollen die Zahlen von 1 bis 4 hoch- und herunter gezählt werden.

Aufgabe 2: Alphabet

Programmname: a2_alphabet.py

Es sollen Buchstaben von A bis Z vorwärts und rückwärts ausgeben werden.

Aufgabe 3: Quadratzahlen

Programmname: a3_quadratzahlen.py

Es sollen die Quadratzahlen von 10 bis 20 ausgeben werden.

Zusatz: Fibbonacci

Programmname: a4_fibonacci.py

Stelle die Fibonacci Zahlen von 1 bis zu einem beliebigen Endwert in einer Schleife zusammen!

Hier beginnend ab der Ziffer 1  (1,2,3,5,8,13, ... ).

Die Summe der beiden vorherigen Zahlen ergibt die Folgezahl.

Übungen mit der Turtle

Falls das Turtle-Modul noch nicht bekannt ist kann man unter Turtle Grundlagen alles nötige ndazu nachlesen.

Achtung!
Ohne die Kenntnisse über die Grundlagen ist sind die folgenden Aufgaben schwierig zu lösen

For()-Schleife

  1. Es ist eine gestrichelte Linie zu zeichnen.
    Programmcode
  2. Die Striche sollen nun immer größer werden.
    Programmcode
  3. Zeichne per Schleife eine Treppe mit 5 Stufen.
    Verwende Variablen.
    Programmcode
  4. Zeichne ein gleichseitiges Dreieck, ein Quadrat und ein Rechteck mittels einer Schleife
    Verwende Variablen.
  5. Zeichne ein beliebiges n-Eck. Als Variablen werden die Eckenzahl und die laenge festgelegt und übergeben.
    Programmcode
  6. Versuche durch Verschachtelung mehrerer Schleifen ein Blatt mit Kästchenmuster zu erzeugen.
    Programmcode

While()-Schleife

Löse die Aufgaben der for()-Schleife nun mit einer while()-Schleife. Schaue dir auch dieses Beispiel an.

  1. Strichellinie
    Programmcode
  2. Strichellinie größer werdend
    Programmcode
  3. Treppenstufen
    Programmcode
  4. Verändere das Programm zu einem Rechteck und Dreieck
    Programmcode
  5. n-Eck
    Programmcode
  6. Kästchenmuster
    Programmcode

Für Fortgeschrittene

Schleifensteueranweisungen

Schleifen lassen sich durch Schleifensteueranweisungen wie break, pass und continue steuern.

Klicke auf den Button um zu Schleifensteueranweisungen zu navigieren.

Schleifensteueranweisungen

Die do-while()-Schleife

Eine besondere Art die while()-Schleife zu nutzen ist die do-while()-Schleife.

Klicke auf den Button um zur do-while()-Schleife zu navigieren.

do-while()-Schleife