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