9. Rückgabewerte
Unterprogramme haben wir bisher als praktische Möglichkeit zum Strukturieren und Wiederverwenden von Code kennengelernt. Unterprogramme können aber auch dazu verwendet werden, um Berechnungen durchzuführen und Resultate zurückzugeben - wie eine mathematische Funktion.
Die Funktionsweise solcher Rückgabewerte haben wir bereits bei der eingebauten Funktion input() kennengelernt, welche den von der Benutzer:in eingegebenen Wert zurückgibt.
Eine solche Funktion können wir auch selber definieren. Zum Beispiel eine Funktion, welche eine Zahl quadriert und das Resultat zurückgibt:
def quadriere(x):
resultat = x * x
return resultat
ergebnis = quadriere(5)
print(ergebnis)
return
Der return-Befehl wird innerhalb einer Funktion verwendet, um einen Wert als Resultat der Funktion zurückzugeben.
Die Funktion wird dann sofort verlassen und der zurückgegebene Wert steht an der Stelle des Funktionsaufrufs zur Verfügung.
Der Rückgabewert kann von den Funktionsparametern abhängen, muss es aber nicht.
def pi():
return 3.141592653589793
def fläche_kreis(radius):
return pi() * radius ** 2
print('PI', pi())
print(fläche_kreis(5))
Passen Sie den folgenden Code so an, dass die Funktion hypotenuse die Länge der Hypotenuse eines rechtwinkligen Dreiecks mit den Katheten a und b berechnet und zurückgibt.
Die untenstehenden Definitions-Boxen helfen beim Berechnen der Hypotenuse.
def hypotenuse(a, b):
# Berechne die Länge der Hypotenuse eines rechtwinkligen Dreiecks
# mit den Katheten a und b
...
print(hypotenuse(3, 4)) # => 5.0
print(hypotenuse(5, 12)) # => 13.0
Wurzelziehen sqrt()
Die Quadratwurzel einer Zahl y kann mit der Funktion sqrt(y) aus der math-Bibliothek berechnet werden. Diese muss zuerst importiert werden:
from math import sqrt
print(sqrt(16))
Schreiben Sie eine Funktion note mit den Parametern punkte und max_punkte, welche die Note auf einer Skala von 1 bis 6 zurückgibt. Die Note wird wie folgt berechnet:
Prüfen Sie Ihre Funktion mit den folgenden Eingaben:
print(note(6, 10)) # Ausgabe: 4.0
print(note(7.5, 10)) # Ausgabe: 4.75
Zusatz ⭐
- Stellen Sie sicher, dass nicht mehr als eine zurückgegeben wird, auch wenn die Eingabe
punktegrösser alsmax_punkteist.