In dieser Aktivität lernst du eigene Funktionen zu definieren.
Ein Kreis ist eigentlich nichts anderes als eine spezielle Form einer Ellipse. Eine Ellipse, bei der die Breite und die Höhe gleich sind. Du hast die Erklärung einer Ellipse schon erhalten. Benutze die ellipse Funktion, um einen roten Kreis mit Durchmesser 100 zu generieren:
Es war nicht besonders schlau, mit dem Aufruf ellipse
einen Kreis zu zeichnen. "Ellipse" zu schreiben, wo wir doch eher den Spezialfall Kreis meinen, ist nicht sehr intuitiv. Und dazu kommt, dass man den Durchmesser sowohl für die Breite, wie auch die Höhe eingeben muss... das ist doch ätzend.
Wär's nicht viel schöner, wenn es eine spezifische Funktion für die Generierung von Kreisen gäbe? Sie müsste "Kreis" heissen und nur den Durchmesser und die Farbe als Parameter erhalten.
Ha! Sobald du dir ebendiese Frage "Wäre es nicht schön, wenn ich eine dafür spezifische Funktion hätte?" stellst, müsstest du dich freuen :) Wieso? Weil du dir selbst den Wunsch erfüllen kannst! Wie? Python erlaubt uns, unsere eigenen Funktionen zu definieren.
Die zwei Zeilen in der folgenden Code-Zelle, die mit def
und return
starten, zeigen, wie eine Funktion definiert wird. Ersetze in der dritten Zeile ...
durch einen Aufruf der von dir neu definierten Kreis
-Funktion, um einen blauen Kreis mit Durchmesser 100 zu erhalten.
from pytamaro.de import ellipse, blau, zeige_grafik
def Kreis(durchmesser, farbe):
return ellipse(durchmesser, durchmesser, farbe)
blauer_Kreis = kreis(100, blau)
zeige_grafik(blauer_Kreis)
Kreis
gegeben).durchmesser
und farbe
).return
-statement.Siehst du, dass der Körper eingerückt ist? Um genau zu sein um genau 4 Charakter.
In Python ist diese Einrückung sehr relevant. Der Körper der Funktion ist nämlich so lange wie die Einrückung erhalten bleibt.
In der Code-Zelle oben ist die Zeile blauer_Kreis = Kreis(100, blau)
nicht mehr Teil des Körpers.
Wenn eine Funktion aufgerufen wird, wird der Körper ausgeführt.
Der Körper Kreis
-Funktion wird die Ellipse
nfunktion aufrufen, um eine Kreisgrafik zu erzeugen, die dann mit dem return
-Befehl zurückgegeben wird.
Also macht die Code-Zeile folgende vier Dinge:
ellipse
, blau
und zeige_grafik
Kreis
, so dass sie - wenn aufgerufen - immer eine kreisförmige Ellipse mit dem mitgegebenen Durchmesser und Farbe generiert.Kreis
auf, um eine Grafik zu erzeugen und weise diese Grafik dem Namen blauer_Kreis
zu.blauer_Kreis
.Erstelle mit der folgenden Code-Zelle einen grünen Kreis mit Durchmesser 150.
Importiere zuerst die Definition des Namens gruen
und ersetze ...
mit dem korrekten Kreis
-Aufruf.
from pytamaro.de import gruen, zeige_grafik, ellipse
gruener_Kreis = kreis(100, gruen)
zeige_grafik(gruener_Kreis)
Male nun auch einen schwarzen Kreis mit Durchmesser 80.
Gib diesem Kreis keinen Namen, sondern rufe ihn direkt und einfach über die Kreis
-Funktion auf, an Stelle von ...
.
from pytamaro.de import schwarz # ersetze ... durch schwarz
zeige_grafik(kreis(150, schwarz))
Importiere aus der Grafik-Bibliothek pytamaro.de ein rechteck, rot, magenta, weiss, gelb und schwarz, sowie zeige_grafik. Programmiere ein Rechteck: Es erfordert von dir nacheinander die Eingabe "horizontale Länge", "vertikale Länge" und "Farbe".
from pytamaro.de import rechteck, cyan, zeige_grafik
ein_rechteck = rechteck(40, 95, cyan)
zeige_grafik(ein_rechteck)
Nun sollst du eine eigene Funktion definieren, die nur Quadrate herstellt.
quadrat
quadrat
-Funktion soll anschliessend so aufgerufen werden:
quadrat(200, magenta)
from pytamaro.de import rechteck, blau, cyan, zeige_grafik
def quadrat(seitenlaenge, farbe):
return rechteck(seitenlaenge, seitenlaenge, farbe)
zeige_grafik(quadrat(100, blau))
Kann deine Funktion folgende Grafik herstellen? Führe die nachfolgende Codezelle aus und vergleiche sie mit dem Bild.
Verbessere Aufgabe 2 (mit den Lösungen), falls die Aufgabe 3 keine Ausgabe liefert .
Führe nachfolgend den Code aus. Kannst du die Enstehung der Grafikfolge mit deinem Vorwissen zu den Listen und Schleifen verstehen? Erkläre den Code deiner Nachbarin / deinem Nachbarn.
def
).durchmesser
, farbe
) haben.=> Du wirst noch viele Funktionen definieren, es wird eine deiner meist gebrauchten Kompetenzen als Programmierer/in sein!
This activity has been created by Bernhard and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Funktionen
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 667200c (Sun, 05 Oct 2025 00:25:30 GMT)