Рефакторинг для повышения читаемости
Разбиение длинных функций на более мелкие части улучшает читаемость кода и его модульность. В этом упражнении вы выполните рефакторинг функции, разделив её на небольшие составные части. Функция, которую нужно реорганизовать, представлена ниже. Обратите внимание: в упражнении мы намеренно не используем строки документации, чтобы сэкономить место. В реальном проекте документацию следует обязательно добавлять!
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
Это упражнение является частью курса
Принципы разработки программного обеспечения на Python
Инструкции к упражнению
- Перенесите логику вычисления
perimeterв функциюpolygon_perimeter. - Завершите определение функции
polygon_apothem, перенеся в неё соответствующую логику из контекста. Модульmathуже импортирован. - Используйте новые вспомогательные функции для завершения определения
polygon_area. - С помощью обновлённой функции
polygon_areaвычислите площадь правильного шестиугольника со стороной длиной 10.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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))