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
Instrucțiuni pentru exercițiu
- Mută logica de calcul al
perimeterîn funcțiapolygon_perimeter. - Completează definiția funcției
polygon_apothem, mutând logica din contextul dat. Modululmatha fost deja importat pentru tine. - Folosește noile funcții unitare pentru a completa definiția funcției
polygon_area. - Utilizează funcția
polygon_arearefactorizată 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))