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)]