当前位置:  开发笔记 > 编程语言 > 正文

在python中断言两个变量几乎相等

如何解决《在python中断言两个变量几乎相等》经验,为你挑选了1个好方法。

这里有两个变量:earnings_forecast,actual_earning(数值变量)

我想断言这两个变量是否相等,相对于actual_earning变量可接受±2%的差异.

假设: earnings_forecast = 6 actual_earnings = 5.19

我不能使用,assertEqual(earnings_forecast, actual_earnings)因为它会尝试做一个完全匹配,而我想断言这两个变量几乎相等,可接受的±2%差异.



1> Jul3k..:

您可以使用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)

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有