LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Verschiebe die Logik zur Berechnung des perimeter in die Funktion polygon_perimeter.
  • Vervollständige die Definition der Funktion polygon_apothem, indem du die im Kontext gezeigte Logik übernimmst. Das Modul math wurde bereits für dich importiert.
  • Nutze die neuen, kleineren Funktionen, um die Definition von polygon_area zu 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))
Code bearbeiten und ausführen