ÎncepețiÎncepe gratuit

Refactorizare pentru lizibilitate

Împărțirea funcțiilor lungi în unități mai mici îmbunătățește atât lizibilitatea, cât și modularitatea. În acest exercițiu, vei refactoriza o funcție în unități mai mici. Funcția pe care o vei refactoriza este prezentată mai jos. Rețineți că, în cadrul exercițiului, nu vom folosi docstrings pentru a economisi spațiu; într-o aplicație reală, ar trebui să incluzi documentație!

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

Acest exercițiu face parte din cursul

Principii de inginerie software în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Mută logica de calcul al perimeter în funcția polygon_perimeter.
  • Completează definiția funcției polygon_apothem, mutând logica din contextul dat. Modulul math a fost deja importat pentru tine.
  • Folosește noile funcții unitare pentru a completa definiția funcției polygon_area.
  • Utilizează funcția polygon_area refactorizată pentru a calcula aria unui hexagon regulat cu laturi de lungime 10.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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))
Editează și rulează codul