添加mymath.py,包含乘法和除法函数
This commit is contained in:
81
xiang_mu/mymath.py
Normal file
81
xiang_mu/mymath.py
Normal file
@@ -0,0 +1,81 @@
|
||||
"""
|
||||
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("测试乘法函数:")
|
||||
test_cases_multiply = [
|
||||
(2, 3, 6),
|
||||
(-4, 5, -20),
|
||||
(0, 7, 0),
|
||||
(2.5, 4, 10.0),
|
||||
(-3.5, -2, 7.0),
|
||||
]
|
||||
|
||||
for a, b, expected in test_cases_multiply:
|
||||
result = multiply(a, b)
|
||||
status = "PASS" if abs(result - expected) < 1e-9 else "FAIL"
|
||||
print(f" multiply({a}, {b}) = {result} {status} (期望: {expected})")
|
||||
|
||||
# 测试除法函数
|
||||
print("\n测试除法函数:")
|
||||
test_cases_divide = [
|
||||
(10, 2, 5),
|
||||
(-15, 3, -5),
|
||||
(0, 5, 0),
|
||||
(7.5, 2.5, 3.0),
|
||||
(-9, -3, 3),
|
||||
]
|
||||
|
||||
for a, b, expected in test_cases_divide:
|
||||
try:
|
||||
result = divide(a, b)
|
||||
status = "PASS" if abs(result - expected) < 1e-9 else "FAIL"
|
||||
print(f" divide({a}, {b}) = {result} {status} (期望: {expected})")
|
||||
except ValueError as e:
|
||||
print(f" divide({a}, {b}) 错误: {e}")
|
||||
|
||||
# 测试除数为零的情况
|
||||
print("\n测试除数为零:")
|
||||
try:
|
||||
divide(10, 0)
|
||||
print(" divide(10, 0) FAIL (期望抛出ValueError)")
|
||||
except ValueError as e:
|
||||
print(f" divide(10, 0) PASS 正确抛出异常: {e}")
|
||||
|
||||
print("\n所有测试完成!")
|
||||
Reference in New Issue
Block a user