Das Begrüßungsprogramm
AFB I–IIEin Programm fragt nach dem Namen und schreibt ihn auf die Zeichenfläche:
from turtle import *name = input("Wie heißt du?")write("Hallo " + name, font=("Arial", 20, "normal"))
- Beschreibe den Ablauf, wenn Lea „Lea“ eingibt.
- Begründe, warum hier kein
intnötig ist. - Entwickle eine Erweiterung, die zusätzlich nach dem Alter fragt und „In 5 Jahren bist du …“ schreibt.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
Das Programm zeigt die Frage, wartet auf die Eingabe, speichert „Lea“ in name und schreibt „Hallo Lea“ an die Position der Turtle.
Erwartungshorizont zu Aufgabe b)
name wird nur als Text verwendet und mit einem anderen Text verbunden. Eine Umwandlung in eine Zahl wäre falsch (und führte zu einem ValueError).
Erwartungshorizont zu Aufgabe c)
alter = int(input("Wie alt bist du?")), dann z. B. goto(0, -30) und write("In 5 Jahren bist du " + str(alter + 5)).
Text oder Zahl?
AFB II–IIITom schreibt n = input("Ecken?") und dann for i in range(n):. Python meldet einen TypeError.
- Erkläre die Fehlermeldung.
- Nenne die Korrektur.
- Beurteile, ob das Programm danach bei jeder Eingabe funktioniert.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
input liefert Text. range erwartet aber eine ganze Zahl; mit Text kann range nichts anfangen und meldet einen TypeError.
Erwartungshorizont zu Aufgabe b)
n = int(input("Ecken?")).
Erwartungshorizont zu Aufgabe c)
Nicht bei jeder: Bei „drei“ gibt int einen ValueError, bei 0 teilt left(360 / n) durch null, bei 1 oder 2 entsteht kein Vieleck. Eine klare Frage mit Bereich (z. B. „3 bis 12“) hilft; später kann man ungültige Eingaben mit if abfangen.
