Ein Computer ist zunächst einfach mal eine Maschine, die wahnsinnig schnell arbeiten (rechnen) kann. Damit man zum Beispiel ein Spiel spielen können, muss irgend jemand dem Computer also sagen, was er denn genau zu tun hat. Jemand muss also ein Computerprogramm, oder Code, schreiben. Dieses besteht aus Befehlen, die der Computer auszuführen hat. Damit der Computer auch versteht, was er machen soll, müssen Programmierer und Computer 'die gleiche Sprache' sprechen. Es gibt sehr viele unterschiedliche solche Programmiersprachen mit unterschiedlichen Anwendungsbereichen und Vor- und Nachteilen.
Wir wählen hier die Programmiersprache Python. Im Jahre 2025 ist diese Sprache sicher in der Top 3 der wichtigsten Programmiersprachen - wenn nicht sogar auf dem ersten Platz. Dazu kommt, dass Python im Vergleich zu anderen Sprachen, z.B. C++ (C Plus Plus), Java oder C# (C Sharp) relativ einfach zu erlernen ist.
Wenn wir einen Satz mit vielen Schreibfelern und Grammatikfehler lesen, so sind wir meist trotzdem in der Lage, den Satz zu verstehen. Im Gegensatz zu uns hat ein Computer aber keine Intelligenz und ist deshalb nicht in der Lage, einen Text selbst zu interpretieren. Ein Computer kann ein Programm nur ausführen, wenn es gar keine Fehler, sogenannte Bugs, hat. Es ist deshalb wichtig, dass man sich an die formalen Vorgaben der Programmiersprache hält.
Wie gesagt, werden wir in der Programmiersprache Python programmieren. Wir brauchen aber noch ein Programm, um unseren Code zu schreiben und auszuführen, eine sogenannte IDE (Integrated Development Environment, auf Deutsch Entwicklungsumgebung). Dazu wählen wir die IDE TigerPython.
Am einfachsten ist es, Programme direkt im Web zu schreiben: auf https://webtigerpython.ethz.ch/.
Um ein Programm abzuspeichern, musst es heruntergeladen werden:
Die heruntergeladene Datei muss noch in den richtigen Ordner verschoben werden, z.B. 1M/Informatik/Programmieren 1/
.
Alternativ dazu kann ein Link kopiert werden und z.B. in einem Notiz-Dokument hinzugefügt werden.
Informatik\Programmieren 1\
B2.py
Erklärung der Zeilen:
turtle
importieren, damit wir mit Turtlegrafik arbeiten können.fritz
. Man nennt dieses auch ein Turtle-Objekt.
Du kannst deiner Turtle nun auch sagen, er soll sich um einen gewissen Winkel drehen oder rückwärts laufen. Die wichtigsten Befehle sind die folgenden. Jedem Befehl muss der Name der Turtle (im Beispiel fritz
) und ein Punkt vorangestellt werden. Viele weitere Befehle finden sich auf der Turtle Funktionsübersicht.
Befehl | Beschreibung |
---|---|
forward(s) | s Schritte (in Pixel) vorwärts bewegen |
back(s) | s Schritte rückwärts bewegen |
right(w) | um den Winkel w (in Grad) nach rechts drehen |
left(w) | um den Winkel w nach links drehen |
home() | setzt Turtle in die Mitte des Fensters mit Richtung nach rechts |
hideturtle() | Turtle versteckt sich. |
Um die Turtle an eine andere Stelle zu bewegen, brauchst du die folgenden Befehle:
Befehl | Erklärung |
---|---|
teleport(-100,50) | Springt zu Position (-100,50), ohne eine Linie zu zeichnen. |
setpos(-100,50) | Bewegt Turtle zu Position (-100,50), den Stift unten lassend. |
setx(30) | setzt x-Koordinate der Turtle (horizontale Verschiebung) |
sety(30) | setzt y-Koordinate der Turtle (vertikale Verschiebung) |
up() | Hebt den Stift, es wird also nicht gezeichnet |
down() | Setzt Stift wieder ab, es wird also wieder gezeichnet |
Du willst mehr machen? Dann findest du viele weitere Funktionen in der offiziellen Python-Turtle-Dokumentation.
Mache dich mit all diesen Befehlen vertraut und probiere sie aus.
Programmiere deine Turtle so, dass es ein Quadrat abläuft.
Programmiere deine Turtle so, dass er deinen Namen, Spitznamen oder zumindest deine Initialen abläuft.
Wahrscheinlich hast du die Aufgabe 2 (Quadrat ablaufen) so gelöst, dass dein Code aus 4x genau den gleichen vier Zeilen Code besteht. Dies ist zwar richtig, vom Programmierstyle her aber nicht sehr elegant. Mit repeat
kannst du sagen, dass du einen Codeblock eine gewisse Anzahl mal hintereinander ausführen möchtest:
repeat 4: # schreibe hier deinen Code
Bemerkungen:
repeat
Befehl eingerückt sein, und zwar um genau 4 Leerzeichen (oder 1x Tab).#
gekennzeichnet. Kommentare werden von Python ignoriert. Man kann diese z.B. brauchen, um im Code Erklärungen anzufügen, damit jemand andere den Code besser verstehen kann.
Mache eine Kopie deiner Lösung aus Aufgabe A2. Schreibe nun deine Lösung um, indem du den repeat
Befehl verwendest.
Um einen Turtle namens Fritz einen Punkt mit Radius 20 Pixel zeichnen zu lassen, tippe einfach:
fritz.dot(20)
Bisher haben wir unsere Turtles ausschliesslich gerade Linien laufen lassen. Um auf einem Kreis zu gehen, verwende den Befehl circle(radius)
.
fritz.circle(20)
Dabei bestimmt das Argument den Radius des Kreise in Pixel. Ist der Radius positiv, zeichnen im Gegenuhrzeigersinn, ist er negativ im Uhrzeigersinn.
Um einen Teilkreis zu zeichnen, können wir zusätzlich den Winkel zwischen 0 und 360 Grad übergeben.
Zum Beispiel zeichnet man mit dem Befehl circle(-100, 180)
einen Halbkreis (180 Grad Winkel) mit Radius 100 Pixel im Uhrzeigersinn.
Verwende die Befehle dot(), forward(), right(), left()
, um folgende Figur zu zeichnen:
Versuche nun deinen Code zu kurz wie möglich zu schreiben. Vermeide Code-Wiederholungen, arbeite deshalb mit repeat
.
Zeichne mit Hilfe der Befehle circle()
die nebenstehende Figur.
Zeichne die folgende Schmetterling-Figur:
Zeichne die folgenden Figuren;
Gelingt es dir die nebenstehende Figur in einem Zug zu zeichnen, ohne dass dabei eine Strecke zweimal durchlaufen wird?
Wir haben gelernt, wie man mit einem Turtle Figuren zeichnen kann. Nun wollen wir noch etwas Farbe ins Spiel bringen!
Just for fun:
# Turtle wird importiert und eine neue Turtle mit # dem Namen 'fritz' wird erstellt. # TODO import fritz = Turtle() # Fritz wird nach links und oben teleportiert. fritz.teleport(-50, 50) # Was passiert hier? Screen().bgcolor("red") fritz.color("white") fritz.begin_fill() repeat 4: repeat 3: fritz.forward(100) fritz.right(90) fritz.left(180) fritz.end_fill()
Studiere den Code Zeile für Zeile. Stelle sicher, dass du folgende Befehle genau verstehst.
Befehl | Erklärung |
---|---|
Screen().bgcolor('red') | Legt die Hintergrundfarbe des Bildschirms (Screen) fest. |
color('white') | Legt die Farbe des Stiftes und der Füllung fest. |
pencolor('red') | Legt die Farbe des Stiftes fest. |
fillcolor('blue') | Legt die Farbe der Füllung fest. |
begin_fill() / end_fill() | Füllt den ganzen zwischen begin und end gezeichneten Körper mit der Füllfarbe. |
width(10) | Legt die Breite des Stiftes fest. |
Verwende pencolor
/ fillcolor
, Screen().bgcolor
, width
sowie begin_fill
und end_fill
um die folgenden Figuren zu zeichnen: