255
Flächeninhalt und Umfang eines Rechtecks
Sie ist kompakter und vielleicht findest du sie auch eleganter. Welche
Form du bevorzugst, ist bis zu einem gewissen Grad Geschmackssache.
Ich rate dir: Nimm die Form, die dir klarer und verständlicher erscheint.
Als Muster für die Definition von Funktionen solltest du dir jedenfalls das
Folgende merken. Es berechnet zuerst den Rückgabewert und weist ihn
dem lokalen Namen
ergebnis
zu. Erst als letzte Anweisung enthält der
Funktionskörpers die
return
-Anweisung mit dem Argument
ergebnis
.
Muster 13: Definition einer Funktion mit
Rückgabewert
def Funktionsname(parm1, param2, ...):
Anweisung 1
Anweisung 2
return ergebnis
Wenn du einmal mit der Definition von Funktionen mit Rückgabewert ver-
traut bist, kannst du dieses Muster kreativ und/oder elegant variieren.
Damit du mit den »Funktionen mit Wert« etwas vertrauter wirst, folgen hier
einige einfache Beispiele:
Flächeninhalt und Umfang eines
Rechtecks
Als erstes Beispiel wollen wir zwei Funktionen definieren, die uns den Um-
fang und den Flächeninhalt von Rechtecken berechnen und zurückgeben.
Dazu überlegen wir: Wovon hängen Inhalt und Umfang einer Rechteckflä-
che ab? Von der Länge und der Breite des Rechtecks. Diese beiden Werte
müssen also den Funktionen als Argumente übergeben werden.
Funktion rechteckumfang():
Parameterliste: laenge, breite
umfang
Ö
2 * laenge + 2 * breite
Rückgabe: umfang
Hierbei drücke ich mit der letzten Zeile aus, dass der Wert von
umfang
mit
einer
return
-Anweisung zurückgegeben werden soll.
Funktionskop
f
Funktionskörper
Anweisungen
... berechnen
ergebnis
.
256
Funktionen mit Wert
Kapitel
1
0
Funktion rechteckflaeche():
Parameterliste: laenge, breite
flaeche
Ö
laenge * breite
Rückgabe: flaeche
Beide Funktionen haben dieselbe Gestalt wie die Funktion
quadrat()
aus
dem vorigen Abschnitt. Nur haben sie zwei Eingabeparameter. Beim Codie-
ren können wir daher
quadrat()
als Vorbild verwenden:
>
Öffne ein neues Editor-Fenster für das Skript
rechteck.py
.
>
Codiere die Funktion
rechteckumfang()
:
def rechteckumfang(laenge, breite):
umfang = 2 * laenge + 2 * breite
return umfang
>
Codiere nach demselben Schema die Funktion
rechteckflaeche()
.
>
Nun können wir mit dem IPI kontrollieren, ob die Funktionen richtig
funktionieren. Teste sie mit Daten, bei denen du im Kopf mitrechnen
kannst:
>>> rechteckumfang(1, 1)
4
>>> rechteckflaeche(1, 1)
1
>>> rechteckumfang(3, 7)
20
>>> rechteckflaeche(3, 7)
21
Obwohl wir diese Funktionen hier nur zur Übung erstellt haben, wollen wir
als eine kleine Anwendung mit ihnen die Frage klären: Welches Rechteck
mit Umfang 20 hat die größte Fläche?
Wenn der Umfang 20 sein soll, dann muss Länge plus Breite gleich 10 sein.
Oder Breite gleich 10 minus Länge. Sehen wir uns einmal die Rechtecke mit
ganzzahligen Längen von 1 bis 9 an:
>>> for l in range(1, 10):
b = 10 - l
f = rechteckflaeche(l,b)
print("Länge: {0}, Breite: {1}, Fläche: {2}".format(
l,b,f))

Get Python für Kids now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.