添加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