Zum Hauptinhalt springen
Version: 28Gj

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 .

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).

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.

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)

Wird ein Befehl im Programm ausgeführt, spricht man von einem Befehlsaufruf - nebst dem Befehlsnamen gehören auch die runden Klammern dazu!

Aufgabe 1

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

Unterprogramme
Aufruf eines Unterprogramms
Orange
Parameter
Verwendete Parameter
Grün
Laden...
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
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)
Laden...

Farben

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

from turtle import *

forward(30)
right(90)

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

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

pencolor('green')
forward(30)

Gesamte Farbpalette

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.

from turtle import *

⭐️ Zusatz:

Machen Sie bei jedem Richtungswechsel einen Punkt:

Laden...

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 - welche Unterprogramme sind neu dazugekommen?
  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.
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! (Code-Beispiel zu den 👉 Kommentaren studieren)

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)
Laden...

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.

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.

Python kann ebenfalls die Quadratwurzel (englisch Squareroot, abgekürzt sqrt) ziehen - allerdings muss dieser Befehl zuerst noch importiert werden:

from math import sqrt # auf der ersten Zeile des Programms
from turtle import *

forward(sqrt(2) * 100) # die Wurzel aus 2 mal 100

⭐️ Zusatz:

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

Laden...
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.

from turtle import *
Laden...