1. Learn
  2. /
  3. 课程
  4. /
  5. Python 中的软件工程原理

Connected

道练习

为可读性进行重构

将较长的函数重构为更小的单元,有助于提高可读性和模块化。在本练习中,您将把一个函数重构为更小的单元。下面展示的是您将要重构的函数。请注意,在练习中为了节省空间,您不会使用文档字符串;在真实项目中,您应当包含文档!

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

说明

100 XP
  • 将计算 perimeter 的逻辑移动到 polygon_perimeter 函数中。
  • 完成 polygon_apothem 函数的定义,把上下文中的相关逻辑移动过去。math 模块已为您导入。
  • 使用新的单元函数来完成 polygon_area 的定义。
  • 使用更模块化的 polygon_area 计算一条边长为 10 的正六边形的面积。