10.1.3. Anwendungsbeispiele (A)#
In diesem Abschnitt sehen Sie praxisnahe Beispiele, wie Funktionen eingesetzt werden können – z.B. für Einheitenumrechnung, geometrische Berechnungen oder Sortierung.
10.1.3.1. Einheitenumrechnung#
Funktionen eignen sich gut, um Umrechnungen zu kapseln und wiederverwendbar zu machen:
def mm_to_m(mm):
"""Konvertiert Millimeter in Meter."""
return mm / 1000
def kg_to_g(kg):
"""Konvertiert Kilogramm in Gramm."""
return kg * 1000
# Beispiel: 500 mm = 0.5 m
print(mm_to_m(500))
print(kg_to_g(2.5))
0.5
2500.0
10.1.3.2. Geometrische Berechnungen#
Typische Anwendungen sind Flächen- und Volumenberechnungen:
def kreisflaeche(radius):
"""Berechnet die Fläche eines Kreises mit Flächeninhalt A = π * r²."""
return 3.14159 * radius ** 2
def zylindervolumen(radius, hoehe):
"""Berechnet das Volumen eines Zylinders: V = π * r² * h."""
return kreisflaeche(radius) * hoehe
print("Kreisfläche (r=5):", kreisflaeche(5))
print("Zylindervolumen (r=5, h=10):", zylindervolumen(5, 10))
Kreisfläche (r=5): 78.53975
Zylindervolumen (r=5, h=10): 785.3975
10.1.3.3. Sortierung mit benannter Funktion#
Die Built-in-Funktion sorted() kann einen Parameter key erhalten: eine Funktion, die für jedes Element einen Sortierschlüssel liefert.
teile = [("Bolzen", 12), ("Schraube", 8), ("Mutter", 6), ("Dübel", 10)]
def nach_laenge(tupel):
"""Liefert das zweite Element (Länge) für die Sortierung."""
return tupel[1]
def nach_name(tupel):
"""Liefert das erste Element (Name) für die Sortierung."""
return tupel[0]
# Sortieren nach Länge (zweites Element)
sortiert_nach_laenge = sorted(teile, key=nach_laenge)
print(sortiert_nach_laenge)
# Sortieren nach Name (erstes Element)
sortiert_nach_name = sorted(teile, key=nach_name)
print(sortiert_nach_name)
[('Mutter', 6), ('Schraube', 8), ('Dübel', 10), ('Bolzen', 12)]
[('Bolzen', 12), ('Dübel', 10), ('Mutter', 6), ('Schraube', 8)]