Rückblick
Dieses Kapitel ist das längste des Lernpfads – und das wichtigste. Variablen, Schleifen und Verzweigungen zusammen genügen, um jedes Programm zu schreiben, das es gibt. Alles Weitere macht die Sache nur bequemer.
Das kann ich jetzt
- Ich kann Variablen anlegen, ausgeben und weiterrechnen. (2.1, 2.2)
- Ich kann eine
for-Schleife mitrangeschreiben und weiß, wozu die Einrückung dient. (2.3) - Ich kann eine Eingabe mit
inputeinlesen und in eine Zahl umwandeln. (2.4) - Ich kann eine
while-Schleife schreiben und eine Endlosschleife erkennen. (2.5) - Ich kann verschachtelte Schleifen lesen und schreiben. (2.6)
- Ich kann mit
if,elifundelseverzweigen. (2.7)
Gemischte Aufgaben
Aufgabe 1: Werte verfolgen
Führ für jedes Programm eine Tabelle auf Papier und notiere, was ausgegeben wird.
punkte = 0
for i in range(5):
punkte = punkte + i
print(i, punkte)
zahl = 20
while zahl > 1:
zahl = zahl // 2
print(zahl)
for i in range(3):
for j in range(2):
print(i, j)
a) Notiere für jedes Programm alle Ausgabezeilen.
b) Wie oft läuft die while-Schleife? Woran erkennst du, dass sie nicht endlos läuft?
c) Wie oft wird im dritten Programm die print-Zeile ausgeführt? Nenne die Rechnung.
d) Was passierte im zweiten Programm, wenn dort zahl = zahl - 1 stünde? Und was bei zahl = zahl + 1?
Aufgabe 2: Vier Programme mit Fehlern
Untersuche jedes Programm auf Papier. Was ist falsch, und was passiert beim Ausführen?
# a)
for i in range(3)
print(i)
# b)
for i in range(3):
print(i)
# c)
alter = input("Wie alt bist du? ")
if alter > 17:
print("volljährig")
# d)
punkte = 5
if punkte = 5:
print("Volle Punktzahl")
Bei welchem der vier meldet Python nichts, sondern rechnet einfach falsch?
Tipp zu c)
Sieh dir an, was input zurückgibt. Kann man einen Text mit einer Zahl vergleichen?
Aufgabe 3: Ein Windrad aus Quadraten
Zeichne diese Figur: sechs Quadrate mit 80 Pixeln Kantenlänge, die alle im selben Punkt beginnen und jeweils um 60 Grad gegeneinander gedreht sind.
a) Überleg zuerst: Welche Schleife zeichnet ein Quadrat? Was muss danach passieren, bevor das nächste beginnt?
b) Schreib das Programm mit zwei verschachtelten Schleifen.
c) Wie oft wird der innerste forward-Befehl insgesamt ausgeführt?
d) Ändere die Zahl der Quadrate auf 12 und die Drehung auf 30 Grad. Was fällt dir am Zusammenhang der beiden Zahlen auf?
Tipp 1: Ein Quadrat
for j in range(4):
forward(80)
left(90)
Nach dieser Schleife steht die Turtle wieder am Ausgangspunkt und schaut in die Ausgangsrichtung – ein geschlossener Weg bringt sie immer dorthin zurück.
Tipp 2: Die äußere Schleife
Die äußere Schleife wiederholt das ganze Quadrat und dreht danach ein Stück weiter:
for i in range(6):
# hier das ganze Quadrat
left(60)
Achte auf die Einrückung: Die innere Schleife und das left(60) gehören beide in die äußere.