НачатьНачать бесплатно

Рефакторинг для повышения читаемости

Разбиение длинных функций на более мелкие части улучшает читаемость кода и его модульность. В этом упражнении вы выполните рефакторинг функции, разделив её на небольшие составные части. Функция, которую нужно реорганизовать, представлена ниже. Обратите внимание: в упражнении мы намеренно не используем строки документации, чтобы сэкономить место. В реальном проекте документацию следует обязательно добавлять!

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))
Редактировать и запускать код