Die meisten Funktionen, die wir bisher verwendet haben, hängen von den Parametern ab, die wir ihnen übergeben. print() gibt die übergebenen Variablen aus, max() berechnet das Maximum der übergebenen Zahlen, math.sqrt() berechnet die Quadratwurzel der übergebenen Zahl. Die Funktionen ändern also ihr Verhalten abhängig von den übergebenen Werten. Sie wiederholen nicht den gleichen Satz von Anweisungen wie die Funktion im vorherigen Übungsbeispiel.
Um das Verhalten basierend auf den Parametern ändern zu können, müssen wir die Parameter an die Funktion übergeben. Das kann erreicht werden, indem wir die Argumente definieren, die die Funktion innerhalb der öffnenden und schließenden Klammern () akzeptieren kann.
def print_volume(h, w, d):
volume = h * w * d
print(volume)
print_volume(2, 3, 4) # 24
print_volume(2, 0, 4) # 0
print_volume(1, 10, 24) # 240
Eine Funktion kann so viele Argumente haben, wie nötig sind. Sie müssen nur passende Namen haben und durch Kommas getrennt werden.
Aufgabe
Schreibe eine Funktion, die das Volumen eines Zylinders berechnet und es ausgibt.
Zur Erinnerung: Das Volumen eines Zylinders wird berechnet, indem die Fläche des Grundkreises mit der Höhe multipliziert wird: $$V = \pi r^2 h$$
Die erste Zeile der Eingabe enthält eine ganze Zahl n - die Anzahl der Zylinder, für die das Volumen berechnet werden soll. Die nächsten n Zeilen enthalten jeweils zwei ganze Zahlen h und r. Die Höhe und den Radius des Zylinders.
Rufe die von dir erstellte Funktion für jeden Zylinder auf, so dass die Programmausgabe n Volumen enthält.
Eingabe
Ausgabe
115
6
1696.46
Tipp
Beim Benennen der Parameter einer Funktion ist es eine gute Praxis, Namen zu verwenden, die nicht mit anderen Namen im Code übereinstimmen. Wenn du also h = int(input()) hast, möchtest du vielleicht den Funktionsparameter z.B. height nennen.