这里有两个变量:earnings_forecast
, actual_earning
(数值变量)
我想断言这两个变量是否相等,并且相对于 ±2% 的差异是可以接受的actual_earning
多变的。
认为:earnings_forecast = 6
actual_earnings = 5.19
我无法使用assertEqual(earnings_forecast, actual_earnings)
因为它会尝试进行精确匹配,相反,我想断言这两个变量几乎相等,±2% 的差异可以接受。
您可以使用Python 3.5中引入的新isclose函数
PEP 485 添加了 math.isclose() 和 cmath.isclose() 函数,
判断两个值是否近似相等或“接近”
其他。确定两个值是否被认为接近
根据给定的绝对和相对公差。相对的
容差是 isclose 参数之间允许的最大差异,
相对于较大的绝对值
import math
a = 100.0
b = 102.0
c = 103.0
assert math.isclose(a,b, rel_tol=0.02)
assert math.isclose(a,c, rel_tol=0.02)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)