**Dies ist eine alte Version des Dokuments!**
Programmieren Teil 4 – Funktionen (Unterprogramme)
- Dieses Seite ist die Fortsetzung von Programmieren Teil 3 – Listen (mit der while-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("Hallo") input("Wie heisst du?") len("Apfel")
Aufgabe A
Einzeln: Beantworte folgende Fragen schriftlich. Zu zweit: Vergleicht und ergänzt eure Antworten.
- Was ist allen Funktionen gemeinsam?
- Worin unterscheiden sich die Funkionen?
Aufgabe B
- Kopiere obige Codezeilen nach https://webtigerpython.ethz.ch/. Wenn du den Code ausführst, merkst du, das noch nicht viel passiert.
- Ergänze den Code wie folgt und teste nach jedem Schritt:
- Der Name, den die Benutzer:in eingibt, soll in einer Variable gespeichert werde.
- Statt der Länge des Wortes „Apfel“ soll die Länge des eingegebenen Namens ermittelt werden.
- Diese Länge soll in einer Variable gespeichert werden.
- Am Ende soll eine Nachricht in folgendem Format ausgegeben werden: „Du heisst Karl, dein Name hat 4 Buchstaben.“ Verwende einen f-String.
Du solltest jetzt ein vierzeilgies Programm haben. Jede Zeile enthält eine Funktion.
- Schaue dir deine Antworten zu Aufgabe A nochmals an und ergänze sie, wenn dir noch mehr auffällt.
2. Theorie
Auftag 2 – Eine Funktion (ein Unterprogramm) erstellen und verwenden
Mit folgendem Code zeichnet die Turlte ein Sechseck (Hexagon):
from gturtle import * karl = Turtle() side_count = 0 while side_count < 6: karl.forward(50) karl.right(60) side_count = side_count + 1
Wir möchten jetz sechs Sechsecke zeichnen, sodass in der Mitte ein siebtes entsteht (Hexagons are the Bestagons). Hierzu erstellen wir erst eine Funktion namens hexagon() und rufen sie weiter unten auf:
from gturtle import * karl = Turtle() # Funktion erstellen mit def funtkionsname(): # Alles darunter Eingerückte gehört zur Funktion def hexagon(): side_count = 0 while side_count < 6: karl.forward(50) karl.right(60) side_count = side_count + 1 hex_count = 0 while hex_count < 6: hexagon() # Funktion aufrufen karl.forward(50) karl.left(60) hex_count = hex_count + 1
Auftrag 3 – Begriffe kennenlernen
Argument, Rückgabewert, Definition, Aufruf.