This is an old revision of the document!
Schleifen
Besprechung der Hausaufgabe (bei 1c evtl. Quiz besprechen).
Lernziele heute
while
-Schleifen kennenlernen (bereits informell im Zeichenprogramm verwendet)- … und wie man diese sinnvoll verwendet
In Python gibt es drei Arten von Schleifen alias Möglichkeiten, einen Code-Block mehrmals auszuführen:
repeat
-Schleifen 1) - diese kennen wir bereits seit der ersten Doppellektion.while
-Schleifen - diese lernen wir heute kennenfor
-Schleifen - das kommt nach den Oster-Ferien
''while''-Schleifen
Eine while
-Schleife wird mit dem Schlüsselwort while
(für deutsch solange) eingeleitet und hat die folgende Struktur (beachte den Doppelpunkt und die Einrückung):
while <Ausführ-Bedingung>: # der sogenannte Kopf der Schleife <Code-Block, der so lange wiederholt ausgeführt wird, # der sogenannte Körper der Schleife wie die Ausführ-Bedingung erfüllt ist. Dieser Code-Block ist um vier Leerschläge eingerückt>
Vergleich mit if
-Selektion: Wenn man while
durch if
ersetzt, wird der eingerückte Code-Block genau einmal durchgeführt, wenn die Ausführ-Bedingung erfüllt ist. Bei der while
-Schleife wird dieser solange ausgeführt, wie die Ausführbedingung erfüllt ist.
Aufgabe 1, erste Erfahrungen mit ''while''-Schleifen
Einzelarbeit, ca. 8 Minuten
- Teste das folgende Programm.
- Was passiert, wenn du die letzte Zeile nicht einrückst?
- Was passiert, wenn du die beiden letzten Zeile miteinander vertauschst?
- Was passiert, wenn du die Zeile
x = x + 3
löschst (oder mit#
auskommentierst)?
x = 0 while x < 20: x = x + 3 print(x)
Aufgabe 2, selbst ein Programm mit ''while''-Schleife schreiben
Einzelarbeit, ca. 5 Minuten
Schreibe ein Programm (mit einer while
-Schleife), das alle Zahlen zwischen 5 und 19 (einschliesslich der beiden Grenzen 5 und 19) ausgibt.
Aufgabe 3, Quadratzahlen ausgeben
Einzelarbeit, ca. 5 Minuten
Schreibe ein Programm (mit einer while
-Schleife), das vom Benutzer eine Zahl a
einliest und die Quadrate aller Zahlen zwischen 1 und a
ausgibt. Bei Eingabe 13 soll die Ausgabe wie folgt aussehen:
1 4 9 16 25 36 49 64 81 100 121 144 169
Aufgabe 4, Turtle-Steuerung
Einzelarbeit, ca. 10 Minuten
Schreibe mit Hilfe einer while
-Schleife ein Programm, um die Turtle zu steuern. Das Programm soll den Benutzer jeweils zur Eingabe eines Wortes auffordern.
- Gibt der Benutzer
links
ein, soll die Turtle 50 Schritte vorwärts gehen und sich dann um 90 Grad nach links drehen. - Gibt der Benutzer
rechts
ein, soll die Turtle 50 Schritte vorwärts gehen und sich dann um 90 Grad nach rechts drehen. - Gibt der Benutzer
Ende
ein, so soll das Programm enden. - Bei allen andere Eingaben soll im Ausgabefenster (das Fenster in Tigerjython unter dem Programmcode)
unbekannter Befehl
ausgegeben werden.
Bonusaufgabe 4, Zahlen aufsummieren
Einzelarbeit, ca. 10 Minuten
Schreibe mit Hilfe einer while
-Schleife ein Programm, das vom Benutzer eine Zahl entgegennimmt und die Summe aller Zahlen von 1 bis zu dieser Zahl ausrechnet.
Beispiel: Bei Eingabe 10 soll die Ausgabe lauten:
Die Summe der Zahlen von 1 bis 10 ist 55
Hausaufgabe
Lerne auf die Prüfung!
- Beachte die Lösungsvorschläge, die stets am Ende der Web-Seiten stehen, meist in “Ausklapp-Boxen”.
- Die Lernziele stehen am Ende der Hauptseite.
- Bitte melden, wenn Lösungen fehlen oder unklar sind oder sonstige Fragen aufkommen. Am schnellsten geht das über meine Email-Adresse an der Kanti am Burggraben
MeinVorname.MeinNachname@ksbg.ch
(Meine Brühl-Email-Adresse und Teams checke ich etwas seltener. Mein Name steht unten rechts auf dieser Seite.)
Zusammenfassung
Fragebox - auch zum Besprechen von Programmen während der Lektion (NICHT für Hausaufgaben)
Bitte einfach am Anfang des Programms oder der eingereichten Datei die Frage aufschreiben (mit oder ohne Hashtag #
als Kommentareinleitungszeichen am Zeilenanfang).