71 lines
1.6 KiB
Python
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所有测试通过!") |