添加mymath.py数学运算模块
实现乘法和除法运算函数,包含除零异常处理 添加完整的测试代码
This commit is contained in:
71
mymath.py
Normal file
71
mymath.py
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
"""
|
||||||
|
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所有测试通过!")
|
||||||
Reference in New Issue
Block a user