Für bessere Lesbarkeit refaktorieren
Längere Funktionen in kleinere Einheiten zu zerlegen, hilft sowohl bei der Lesbarkeit als auch bei der Modularität. In dieser Übung refaktorisierst du eine Funktion in kleinere Einheiten. Die Funktion, die du refaktorisierst, siehst du unten. Hinweis: In der Übung verwenden wir aus Platzgründen keine Docstrings; in einer echten Anwendung solltest du jedoch unbedingt Dokumentation hinzufügen!
def polygon_area(n_sides, side_len):
"""Find the area of a regular polygon
:param n_sides: number of sides
:param side_len: length of polygon sides
:return: area of polygon
>>> round(polygon_area(4, 5))
25
"""
perimeter = n_sides * side_len
apothem_denominator = 2 * math.tan(math.pi / n_sides)
apothem = side_len / apothem_denominator
return perimeter * apothem / 2
Diese Übung ist Teil des Kurses
Grundlagen der Softwareentwicklung in Python
Anleitung zur Übung
- Verschiebe die Logik zur Berechnung des
perimeterin die Funktionpolygon_perimeter. - Vervollständige die Definition der Funktion
polygon_apothem, indem du die im Kontext gezeigte Logik übernimmst. Das Modulmathwurde bereits für dich importiert. - Nutze die neuen, kleineren Funktionen, um die Definition von
polygon_areazu vervollständigen. - Verwende das stärker modularisierte
polygon_area, um die Fläche eines regelmäßigen Hexagons mit Seitenlängen von 10 zu berechnen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def polygon_perimeter(n_sides, side_len):
return ____
def polygon_apothem(n_sides, side_len):
denominator = ____
return side_len / denominator
def polygon_area(n_sides, side_len):
perimeter = ____
apothem = ____
return perimeter * apothem / 2
# Print the area of a hexagon with legs of size 10
print(____(n_sides=6, side_len=10))