python中的近似比较

python中的近似比较,第1张

python中的近似比较

您的定义有两个问题:

  1. 缺少

    *

  2. 尝试除以零,如果

    x + y == 0.0
    (其中涵盖了可能是常见的情况
    x == y == 0.0

尝试以下方法:

define approx_Equal(x, y, tolerance=0.001):    return abs(x-y) <= 0.5 * tolerance * (x + y)

编辑:请注意需要使用

<=
而不是
<
…来使
x == y == 0.0
案例正常工作。

我不会尝试覆盖

==

编辑2:您写道:

世界上没有人会想对浮点数使用默认==。为什么甚至在语言中也是如此?

没门?假设您有一个返回浮点数的函数,并且对算法产生了很大的兴趣,该算法将更快和/或更优雅地产生相同的答案;你如何测试呢?



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4919514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存