Sie sind auf Seite 1von 19

Vorkurs Informatik/Komedia

Programmieren (1): Erste Schritte

Fakultät Informatik, Campus Duisburg


In diesem Kapitel

 Turtle – eine Schildkröte,

Bild von Norbert Waldhausen auf Pixabay


die malen kann

 praktische Beispiele zum


Einstieg

 selbst machen!

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 2


So geht‘s: Programmieren in 3 Schritten
mit Python and Turtle im Webbrowser

https://www.pythonandturtle.com/turtle

Turtle Output
(2) „RUN“ klicken

(3) beobachten

Print Output
(1) Code schreiben im Editor

claudia.weis@uni-due.de 3
Wissenswert: 3 Schritte

• im Prinzip: in jedem beliebigen Texteditor


• sinnvoll: Texteditor mit Syntax-Highlightning
codieren • für Profis: Integrierte Entwicklungsumgebung

• notwendig zur Ausführung: Maschinen-Code


• Interpreter oder Compiler, je nach Programmiersprache
umwandeln

• je nach verwendeter Entwicklungsumgebung „run drücken“


• in der Informatik üblich: auf der Kommandozeile
ausführen

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 4


So geht‘s: die ersten Zeilen Code

# minimalistisches Turtle-Beispiel
import turtle

tina = turtle.Turtle()

tina.forward(100)

turtle.done()

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 5


So geht‘s: die ersten Zeilen Code mit Erklärungen

# minimalistisches Turtle-Beispiel Alles nach # ist Kommentar und wird bei


der Ausführung des Programms ignoriert.
import turtle # Wir importieren das Modul turtle
# Der Kern von Python kommt schlank daher und kann durch
# hinzuladen von Modulen beliebig erweitert werden.

tina = turtle.Turtle() # Wir erzeugen ein Objekt Turtle


# und geben ihm den Namen tina. Warum das so aufgeschrieben
# wird, wie es hier aufgeschrieben ist, dazu in den naechsten
# Tagen mehr. Heute einfach abschreiben ;-)

tina.forward(100) # Turtle tina geht 100 Pixel vorwaerts.


turtle.done() # Am Ende eines Turtle-Programms notwendig,
# damit der Turtle Output sichtbar bleibt.

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 6


Bitte ausprobieren ;-)

https://www.pythonandturtle.com/turtle

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 7


Aufgabe 1.1: Vorwärts und Abbiegen

import turtle  Führen Sie das nebenstehende Stück Code


tina = turtle.Turtle() aus.
 Was beobachten Sie?
tina.forward(50)
tina.left(90)  Beobachten Sie Tinas Verhalten auch
tina.forward(100) schrittweise. Entfernen Sie einzelne oder
mehrere Zeilen und führen Sie den Code
tina.right(45) aus.

turtle.done()  Welche Arbeitsweisen können Sie daraus


für die Funktionen
Sie können Leerzeilen beliebig left() und right() ableiten?
in Python Code einfügen, um
die Lesbarkeit zu erhöhen.  Probieren Sie andere Zahlenwerte und
Für die Ausführung spielen sie lassen Sie Tina noch andere Wege laufen.
keine Rolle.

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 8


Aufgabe 1.2: Shortcuts und Taschenrechner

 Weniger tippen mit  Und jenes:


▪ fd() statt forward()
▪ lt() für „left turn“ import turtle
tina = turtle.Turtle()
▪ rt() für „right turn“
tina.fd(100)
 Probieren Sie dieses Stück Code: tina.lt(180)
tina.fd(200)
import turtle tina.lt(180)
tina = turtle.Turtle() tina.fd(100)
tina.fd(100) tina.lt(90)
tina.fd(50 + 50) # gut, oder?
tina.lt(120)
tina.lt(90 * 2)
tina.fd(100)
tina.fd(40 + 80 * 2)
tina.lt(120)
# "Punkt vor Strich"
tina.fd(100)
turtle.done()
turtle.done()

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 9


Aufgabe 1.3: ein Quadrat

 Schreiben Sie jetzt den Code!

 Zeichnen Sie ein Quadrat mit der


Seitenlänge 80.

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 10


Aufgabe 1.4: Das Haus

 Nun etwas komplexer:  Oder programmieren Sie alternativ


Zeichnen Sie ein kleines Haus. das berühmte „Haus vom Nikolaus“.

 Wie bei der Challange aus


Kindertagen darf der Stift nicht hoch
gehoben und jede Linie nur genau
einmal gezeichnet werden!

 ergänzendes Video zum Haus vom Nikolaus (und ein bisschen Graphentheorie)
https://www.youtube.com/watch?v=_J4FlTOHEDU

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 11


So geht‘s: Laufen, ohne zu malen - der Stift

 Stift heben: Beispiel:


penup()
import turtle
 Shortcuts:
tina = turtle.Turtle()
pu() oder up()
tina.fd(50)
 Stift absenken: tina.penup()
pendown() tina.fd(30)
 Shortcuts tina.pendown()
pd() oder down() tina.fd(50)
turtle.done()

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 12


So geht‘s: Es wird bunt

 Befehl zum Farbe ändern: color()

Beispiel: import turtle


tina = turtle.Turtle()
tina.fd(50)
tina.lt(72)
tina.color("yellow") # mit Farbnamen
tina.fd(50)
tina.lt(72)
tina.color("CornflowerBlue")
tina.fd(50)
tina.lt(72)
tina.color("#61a27c") # als Hex-Code
tina.fd(50)
tina.lt(72)
tina.color("#b8103b")
tina.fd(50)
tina.lt(72)
turtle.done()

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 13


Aufgabe 1.5: Quadrate auf Abstand

a) Zeichen Sie 2 farbige Quadrate mit b) Machen Sie Tinas Haus bunt.
etwas Abstand dazwischen. (Maße siehe Aufgabe 1.4)

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 14


Wissenswert: weitere Eigenschaften einer Turtle

 Form ändern, z.B. tina.shape('turtle')


➢ verfügbare Formen: arrow, turtle, circle, square, triangle, classic

 Farbe ändern, z.B. tina.color('green')


➢ Welche Farben gibt es?
siehe z.B. dort: https://en.wikipedia.org/wiki/Web_colors#Basic_colors
➢ ergänzendes Video zu Farbcodes:
https://www.youtube.com/watch?v=GyXXkVZflnA

 Geschwindigkeit ändern, z.B. tina.speed(5)


➢ Angabe als ganze Zahl, je größer der Wert, umso schneller.

 Strichstärke ändern, z.B. tina.width(10)


➢ Angabe als ganze Zahl, je größer der Wert, umso dicker.

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 15


Aufgabe 1.6*: Olympische Ringe

 Befehl zum Zeichnen von Kreisen und Kreisausschnitten: circle()


 Beispiele zur Verwendung
▪ Vollkreis mit 50 Pixel Radius: tina.circle(50)
▪ Kreisausschnitt mit 50 Pixel Radius und 90 Grad: tina.circle(50,90)
 Probieren Sie zunächst ein wenig aus, wie der circle-Befehl funktioniert und
versuchen Sie dann, die Olympischen Ringe nachzuzeichnen.

Perfekt ist die Lösung, wenn die Verschlungenheit der Ringe korrekt dargestellt wird ;-)

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 16


So geht‘s: weitere Befehle zum Ausprobieren

tina = turtle.Turtle('turtle') # shape direkt am Anfang festlegen

tina.goto(-80, 150) # zu einem Punkt im Koordinatensystem gehen


tina.home() # zum Koordinatenursprung bei (0, 0) gehen
# Beobachten Sie, in welche Richtung Turtle nach goto bzw. home weiterläuft!

tina.pencolor('green') # Farbe, mit der gezeichnet wird, separat einstellen


tina.fillcolor('blue') # Farbe der Turtle separat einstellen
tina.color('gold') # pencolor und fillcolor gemeinsam einstellen

# Möglichkeiten, Text auszugeben. Beobachten Sie, wo der Text erscheint!


tina.write("Hello world!", font=("Arial", 20, "normal"))
print("Hello world!")

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 17


Ausblick: Master-Pieces

 Vielleicht noch etwas mühsam, aber grundsätzlich schon möglich:

claudia.weis@uni-due.de Vorkurs INKO, Turtle - 18


➢ jetzt live

Fragen? ➢


Foren im Moodle-Kurs
E-Mail
nach dem Vorkurs: LuDi

Das könnte Ihnen auch gefallen