Zum Hauptinhalt springen
25h

1. Einführung Python 👣

Programmieren heisst, einer Maschine Befehle zu erteilen und sie damit zu steuern. Die erste solche Maschine, die Sie steuern, ist eine kleine Schildkröte (bzw. ein kleines Dreieck) auf dem Bildschirm: Die Turtle. Was kann diese Turtle und was musst du wissen, um sie zu steuern?

Turtlebefehle werden grundsätzlich Englisch geschrieben und enden immer mit einem Klammerpaar. Dieses enthält weitere Angaben zum Befehl. Selbst wenn keine weiteren Angaben nötig sind, muss ein leeres Klammerpaar vorhanden sein. Die Klein-/Grossschreibung muss exakt eingehalten werden.

Die Turtle kann sich innerhalb ihres Fensters bewegen und dabei eine Spur zeichnen. Um die Turtle zu bewegen, verwenden wir die drei Befehle forward(distanz), left(winkel) und right(winkel).

Programmierkonzepte: Quellprogramm editieren, Programm ausführen, Programmsequenz

Das erste Programm

Das erste Python-Programm zeichnet ein Quadrat. Damit die Befehle zum zeichnen verwendet werden können, muss zuerst eine Datei mit den entsprechenden Befehlen (ein sogenanntes Modul) turtle geladen werden.

Quadrat
from turtle import *

left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)
from turtle import *

Damit Python die Befehle zum zeichnen verwenden kann, müssen diese zuerst aus einer Bibliothek importiert werden. Damit beim Importieren nicht jeder einzelne Befehl angegeben werden muss, wird das Zeichen * verwendet welches alle verfügbaren Befehle importiert.

Befehle: forward, left

Alle Befehle in Python sind nach demselben Schema aufgebaut:

  • einen Befehlsnamen

  • runde Klammern

  • optional in den runden Klammern eine Auflistung* von Parametern, die auch leer sein darf.

       forward(90)
\_____/ \
/ Parameter (Bedeutung hier: 90 Schritte vorwärts)
Befehlsname

penup()
\___/ \
/ kein Parameter
Befehlsname

* werden mehrere Parameter übergeben, dann werden diese mit Kommas abgetrennt, z.B. goto(20, 30)

Aufgabe 1

Markieren Sie im untenstehenden Programm folgende Strukturmerkmale eines Algorithmus mit den vorgegebenen Farben:

Unterprogramme
Aufrufe eines Unterprogramms mit orange
Parameter
Verwendete Parameter mit grün
SSR
Aufgabe 2

Ändern Sie die Parameter im Programm QUADRAT.PY so ab, dass:

  • das Quadrat doppelt so gross gezeichnet wird

  • das Quadrat um 45° nach links gedreht gezeichnet wird

quatrat.py
from turtle import *

left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)

⭐️ Zusatz:

Die Form der Turtle kann mit dem Befehl shape verändert werden. Ändern Sie auf Zeile 3 die Turtleform auf eine Schildkröte durch Aufrufen des Befehls shape mit dem Parameter 'turtle'.

Mögliche Parameter für den Befehl shape
  • 'arrow'

  • 'turtle'

  • 'circle'

  • 'square'

  • 'triangle'

  • 'classic' (standard)

SSR

Farben

Die Stiftfarbe kann mit dem Befehl pencolor('red') auf rot gewechselt werden. Es gibt eine vordefinierte Farbpalette für die Stiftfarben.

farben
from turtle import *

forward(30)
right(90)

pencolor('red')
forward(30)
right(90)

pencolor('blue')
forward(30)
right(90)

pencolor('green')
forward(30)
Farbpalette red green blue
yellow
gold
orange
red
maroon
violet
magenta
purple
navy
blue
skyblue
cyan
teal
turquoise
lawngreen
green
darkgreen
chocolate
brown
black
gray
white
'string'

Beachten Sie die Anführungszeichen rund um die Farb-Namen. Damit Python die Farben als Text (eng. string) erkennt und nicht plötzlich nach einem gleichnamigen Befehl sucht, werden rund um Texte immer Anführungszeichen verwendet.

Stiftbreite

Die Stiftbreite kann mit dem Befehl pensize(2) verändert werden. Standardmässig ist die Stiftbreite 1

from turtle import *
forward(20)

pensize(5)
forward(20)

pensize(10)
forward(20)

pensize(15)
forward(20)

pensize(20)
forward(20)
Zahlen

Beachten Sie, dass bei Zahlen keine Anführungszeichen verwendet werden. Eine Verwechslungsgefahr mit anderen Befehlen besteht nicht, da in Python keine Befehle mit einer Zahl beginnen.

Aufgabe 3: Zickzack

Versuchen Sie, folgendes Zickzack-Muster mit einer Stiftdicke von 5 zu zeichnen. Die Streckenlänge und die Winkel dürfen Sie schätzen.

zickzack.py
from turtle import *

⭐️ Zusatz:

Machen Sie bei jedem Richtungswechsel einen Punkt:

SSR

Kommentare

In Python können Kommentare eingefügt werden, die aber auf die Ausführung des Programms keinen Einfluss haben. Kommentare sind eine wichtige Hilfe, um Programme (Algorithmen) besser zu verstehen, oder aber um zusätzliche Informationen, wie den Autor des Programms, festzuhalten.

# Autor: B. Hofer
# Datum: 5.09.2021

from turtle import * # importiere alle Befehle der Bibliothek "turtle"

speed(1) # verlangsame die Turtle auf die langsamste Geschwindigkeit
forward(100) # 100 Schritte vorwärts
left(120) # drehe um 120 ° nach links
speed(3) # zurück auf Normalgeschwindigkeit
forward(100)
left(120)
speed(10) # Schneller...
forward(100)
left(120)
hideturtle() # verstecke die Turtle
Aufgabe 4: Programm untersuchen
  1. Versuchen Sie nachzuvollziehen, welche Zeile was macht.

  2. Fügen Sie auf den ersten Zeilen den Autor und das Datum hinzu.

  3. Fügen Sie immer dann, wenn ein Unterprogramm zum ersten Mal verwendet wird, einen Kommentar hinzu, welcher beschreibt, was dieses Unterprogramm macht und, falls vorhanden, welchen Einfluss die Parameter haben.

Stift-und-Punkte
from turtle import *

forward(40)
left(90)

penup()
forward(40)
dot(10)
right(180)
forward(40)
left(90)
pendown()

forward(40)
left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)
Aufgabe 5: Würfel

Ändern Sie das Programm so ab, dass die gewürfelte Zahl 5 gezeichnet wird:

Würfel 5
Würfel 5

Verstecken Sie auch die Turtle am Ende!

Würfel__5.py
from turtle import *

forward(40)
left(90)

penup()
forward(40)
dot(5)
right(180)
forward(40)
left(90)
pendown()

forward(40)
left(90)
forward(80)
left(90)
forward(80)
left(90)
forward(80)
SSR

Aufgaben

Aufgabe 6: Haus von Nikolaus

Das "Haus vom Nikolaus" ist ein Zeichenspiel für Kinder. Ziel ist es, das besagte Haus in einem Linienzug aus genau acht Strecken zu zeichnen, ohne dabei eine Strecke zweimal zu durchlaufen. Zeichnen Sie das Haus vom Nikolaus.

haus__nikolaus.py
from turtle import *
Hinweis: Diagonale

Die Länge der Diagonale können Sie mithilfe von Pythagoras und einem Taschenrechner berechnen.

Oder Sie verwenden den Trick, dass die Diagonale im Quadrat gerade 2\sqrt 2 mal länger ist als eine Seitenlänge - bei einer Seitenlänge von 100100 wären das also ca. 141141.


⭐️ Zusatz:

Verwenden Sie für die Zeichnung Ihre Lieblingsfarbe und eine grössere Stiftdicke.

SSR
Aufgabe 7: Treppe

Zeichnen Sie eine Treppe mit fünf Stufen, die eine Breite von 29 Pixeln und eine Höhe von 17 Pixeln haben.

treppe.py
from turtle import *
SSR