2.编写一个可以求圆形、三角形、矩形、梯形面积的模块,并编写只有独立运行模块代码时才能运行的测试代码。要求必须包含完整的API和模块文档(可以通过help函数查看)。并要求通过__doc__属性分别查看模块注释、类注释和函数注释。
时间: 2024-02-03 17:14:47 浏览: 88
模块代码如下:
```python
"""
这是一个计算几何图形面积的模块。
支持的几何图形包括:
- 圆形
- 三角形
- 矩形
- 梯形
"""
import math
def circle_area(radius):
"""
计算圆形的面积.
:param radius: 圆的半径.
:return: 圆的面积.
"""
return math.pi * radius ** 2
def triangle_area(base, height):
"""
计算三角形的面积.
:param base: 三角形底边长度.
:param height: 三角形高度长度.
:return: 三角形的面积.
"""
return 0.5 * base * height
def rectangle_area(length, width):
"""
计算矩形的面积.
:param length: 矩形的长.
:param width: 矩形的宽.
:return: 矩形的面积.
"""
return length * width
def trapezoid_area(base1, base2, height):
"""
计算梯形的面积.
:param base1: 梯形的上底长度.
:param base2: 梯形的下底长度.
:param height: 梯形的高.
:return: 梯形的面积.
"""
return 0.5 * (base1 + base2) * height
```
测试代码如下:
```python
if __name__ == '__main__':
# 测试圆形面积计算
assert math.isclose(circle_area(1), 3.141592653589793, rel_tol=1e-9)
assert math.isclose(circle_area(2.5), 19.634954084936208, rel_tol=1e-9)
# 测试三角形面积计算
assert math.isclose(triangle_area(3, 4), 6, rel_tol=1e-9)
assert math.isclose(triangle_area(5, 12), 30, rel_tol=1e-9)
# 测试矩形面积计算
assert math.isclose(rectangle_area(4, 5), 20, rel_tol=1e-9)
assert math.isclose(rectangle_area(2.5, 6), 15, rel_tol=1e-9)
# 测试梯形面积计算
assert math.isclose(trapezoid_area(2, 4, 3), 9, rel_tol=1e-9)
assert math.isclose(trapezoid_area(3, 5, 4), 16, rel_tol=1e-9)
```
使用help函数查看注释:
```python
# 查看模块注释
print(__doc__)
# 查看函数注释
print(circle_area.__doc__)
print(triangle_area.__doc__)
print(rectangle_area.__doc__)
print(trapezoid_area.__doc__)
```
阅读全文
相关推荐














