Quader¶
Bei dieser einfachen Aufgabe soll anhand der Länge, Breite und Höhe eines Quaders dessen Volumen, Oberfläche und Raumdiagonale bestimmt werden.
Aufgabe:
Bestimme zu den Massen , und das Volumen, die Oberfläche und die Raumdiagonale eines Quaders.
Lösung:
Die gesuchten Größen lassen sich folgendermaßen berechnen:
Die rechte Seite der letzten Gleichung entspricht dem Betrag eines dreidimensionalen Vektors.
Zur Berechnung der Quaderdiagonale kann die Funktion sqrt()
aus dem math-Modul genutzt werden:
import math as m
import functools as ft
cuboid_dimensions = [10,8,6]
cuboid_volume = ft.reduce(lambda x,y: x*y , cuboid_dimensions)
cuboid_surface = lambda
cuboid_surface = 2 * (
cuboid_dimensions[0] * cuboid_dimensions[1] +
cuboid_dimensions[0] * cuboid_dimensions[2] +
cuboid_dimensions[1] * cuboid_dimensions[2]
)
cuboid_diagonal = m.sqrt(
cuboid_dimensions[0]**2 +
cuboid_dimensions[1]**2 +
cuboid_dimensions[2]**2
)
# Ergebnisse:
# cuboid_volume: 480
# cuboid_surface: 376
# cuboid_diagonal: 14.142135623730951
Bei der Berechnung des Quadervolumens wurde, um Schreibarbeit zu sparen, die
Funktion reduce()
aus dem functools-Modul verwendet.
Anstelle des Lambda-Ausdrucks (quasi einer Funktion ohne Namen) kann auch die
Funktion mul()
aus dem Modul operator verwendet werden. Diese
wertet das Produkt aller Werte einer (als eingigem Argument übergebenen) Liste
aus:
import operator as op
ft.reduce(op.mul, [1,2,3]) == ft.reduce(lambda x,y: x*y, [1,2,3])
# Ergebnis: True
Zudem könnte die Schreibarbeit durch die Definition von Funktionen entsprechend Aufgabe Quaderliste – Volumen und Oberfläche weiter reduziert werden.