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)
Lust auf mehr? Es gibt zwei Seiten, auf denen du genau diese Werkzeuge einmal ohne Zielvorgabe benutzt. Such dir eine aus – oder mach beide.
- Challenge: Muster aus Wiederholung – Bilder, die du so nicht von Hand zeichnen könntest.
- Challenge: Spiele aus Wiederholung – ein Ball, ein Schläger, ein Punktestand.
Dahinter steckt dasselbe Prinzip: ein kleiner Schritt, oft genug wiederholt. Beide Seiten sind freiwillig, für den Rest des Lernpfads brauchst du sie nicht.
Gemischte Aufgaben
Weitere Aufgaben dieser Art findest du auf der Seite Weitere Übungen.
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?
e) Teste deine Antworten, indem du die Quelltexte unten eingibst.
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: Temperatur raten
Für ein Ratespiel steht die gesuchte Temperatur 18 fest im Programm. Das Programm fragt so lange nach einer ganzen Zahl, bis die gesuchte Temperatur eingegeben wurde. Nach jeder falschen Eingabe gibt das Programm entweder „zu warm“ oder „zu kalt“ aus. Am Ende soll ausgegeben werden, wie viele Eingaben benötigt wurden.
Implementiere das Programm in Python
Tipp 1: Was brauchst du?
Welche Variablen brauchst du? Denke an die gesuchte Temperatur, den aktuellen Tipp und die Anzahl der Versuche.
Tipp 2: Eingabe lesen
Nutze eine Eingabe und wandel sie in eine Zahl um:
tipp = int(input("Dein Tipp:"))
Tipp 3: Ablauf gestalten
Dein Programm soll immer wieder etwas fragen, daher brauchst du eine Schleife while.
Außerdem muss dein Programm entscheiden, was bei verschiedenen Eingaben passieren soll, dafür brauchst du eine Verzweigung if-else.
Tipp 4: Das Gerüst
temperatur = 0
versuche = 1
tipp = int(input("Temperatur: "))
while tipp != temperatur:
...
Aufgabe 4: 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.