Files
SmartVoyage/mymath.py
18772578169 0dbce3e2f0 添加mymath.py数学运算模块
实现乘法和除法运算函数,包含除零异常处理
添加完整的测试代码
2026-04-02 15:18:16 +08:00

71 lines
1.6 KiB
Python

"""
mymath.py - 数学运算模块
提供乘法和除法运算
"""
def multiply(a: float, b: float) -> float:
"""
计算两个数的乘积
Args:
a: 第一个数
b: 第二个数
Returns:
两个数的乘积
"""
return a * b
def divide(a: float, b: float) -> float:
"""
计算两个数的除法
Args:
a: 被除数
b: 除数
Returns:
两个数的商
Raises:
ValueError: 当除数为零时抛出异常
"""
if b == 0:
raise ValueError("除数不能为零")
return a / b
if __name__ == "__main__":
# 测试乘法
print("测试乘法:")
result = multiply(5, 3)
print(f"5 * 3 = {result}")
assert result == 15, f"乘法测试失败: 期望 15, 实际 {result}"
# 测试除法
print("\n测试除法:")
result = divide(10, 2)
print(f"10 / 2 = {result}")
assert result == 5, f"除法测试失败: 期望 5, 实际 {result}"
# 测试除数为零
print("\n测试除数为零:")
try:
divide(10, 0)
print("错误: 预期异常未抛出")
assert False, "除数为零时应抛出异常"
except ValueError as e:
print(f"成功捕获异常: {e}")
# 测试浮点数
print("\n测试浮点数:")
result = multiply(2.5, 4)
print(f"2.5 * 4 = {result}")
assert result == 10.0, f"浮点数乘法测试失败: 期望 10.0, 实际 {result}"
result = divide(7.5, 2.5)
print(f"7.5 / 2.5 = {result}")
assert result == 3.0, f"浮点数除法测试失败: 期望 3.0, 实际 {result}"
print("\n所有测试通过!")