Programmieren Teil 4 – Funktionen
- Dieses Seite ist die Fortsetzung von Programmieren Teil 3 – Listen (mit der while-Schleife).
- Weiter zu Programmieren Teil 5 – Die for-Schleife.
1. Einführung
Du kennst Variablen – darin kannst du einen Wert speichern. Und du kennst Listen – darin kannst du mehrere Werte speichern. Aber du hast dich villeicht schon gefragt: „Was, wenn ich gleich mehrere Codezeilen irgendwo unterbringen will?“. Für diese Idee gibt es Funktionen, die wir auch Unterprogramme nennen können.
Auftrag 1 – Bereits bekannte Funktionen anschauen
In Python sind viele Funktionen schon eingebaut. Du hast ein paar davon schon oft verwendet – zum Beispiel print, input und len:
print("Hallo") name = input("Wie heisst du?") n_letters = len(name) print(f"Dein Name hat {n_letters} Buchstaben.")
Aufgabe
Zu zweit: Besprecht folgende Fragen. Vergleicht dann mit der Lösung unten.
- Was ist allen drei Funktionen gemeinsam?
- Worin unterscheiden sich die Funktionen strukturell (abgesehen davon, dass sie unterschiedliche Namen haben und unterschiedliche Zwecke erfüllen)?
2. Theorie
Auftrag 2 – Eine Funktion (ein Unterprogramm) erstellen und verwenden
Mit folgendem Code zeichnet die Turtle einen violeten Punkt, dreht 90 Grad nach rechts und fährt um 40 Pixel weiter:
from gturtle import * karl = Turtle() karl.setPenColor("purple") karl.dot(40) karl.right(90) karl.forward(40)
Die letzten vier Codezeilen aus obigem Code packen wir nun in eine Funktion namens „purple_dot“. Dann rufen wir die Funktion viermal nacheinander auf:
from gturtle import * karl = Turtle() def purple_dot(): karl.setPenColor("purple") karl.dot(40) karl.right(90) karl.forward(40) purple_dot() purple_dot() purple_dot() purple_dot()
Beachte:
- Um eine Funktion zu erstellen, benötigst du das Schüsselwort
def(die Funktion wird hier definiert). - Dann folgt der Funktionsname mit anschliessenden Klammern und ein Doppelpunkt:
- alle Codezeilen, die nun eingerückt folgen, gehören zu dieser Funktion.
- Du musst die Funktion erstellen, bevor du sie aufrufst. Die Definition der Funktion erfolgt also immer oben im Code und der Aufruf weiter unten.
Aufgabe
Auftrag 3 – Eine Funktion mit Argument erstellen und verwenden
Wir können einer Funktion auch ein Argument (oder mehrere) mitgeben. Argumente kommen in die Klammern rein. In folgendem Beispiel wird als Argument die Farbe übergeben.
Aufgabe
Kopiere obigen Code und verändere ihn wie folgt:
- Die Funktion hat ein Argument namens dot_size. Es wird also die Grösse des Punkts mitgegeben.
- Dein Code zeichnet vier purpurne1) Punkte in den Grössen 20, 30, 40, 30, siehe Bild.
Auftrag 4 – Eine Funktion mit Argumenten und Rückgabewert erstellen und verwenden
Folgende Funktion namens schnitt berechnet den Durchschnitt zweier Zahlen und gibt das Resultat zurück. Die Funktion wird unten in der Funktion print aufgerufen.2).
def schnitt(zahl1, zahl2): summe = zahl1 + zahl2 return summe/2 print(schnitt(4, 5))
Beachte:
- Das Schlüsselwort
returnbewirkt Folgendes:- Die Funktion wird sofort verlassen.
- Die Funktion gibt den Wert zurück, der hinter
returnsteht.
- Wenn kein Wert hinter return steht, gibt die Funktion
None(nichts) zurück.
Aufgabe
Erstelle eine Funktion namens quader mit drei Argumenten namens l, b und h für die Länge, Breite und Höhe des Quaders. Die Funktion gibt das Volumen des Quaders zurück. Beispiel: Der Aufruf quader(2, 3, 4) gibt 24 zurück. Teste die Funktion, indem du sie dreimal mit unterschiedlichen Argumenten aufrufst und das Resltat jeweils mit print ausgibst.
Auftrag 5 – Wichtige Begriffe erklären
Besprecht zu zweit die folgenden Fragen zu Funktionen. Vergleicht anschliessend mit den Lösungen unten. Lest diese genau und fragt bei Bedarf nach!
- Was ist ein Argument?
- Was ist ein Rückgabewert? Welches Schüsselwort ist hier wichtig?
- Was ist eine Definition? Welches Schösselwort ist hierzu nötig?
- Was ist ein Aufruf?
3. Aufgaben N – Funktionen
In folgenden Aufgaben sollst du Funktionen erstellen (= definieren) und verwenden (=aufrufen).




