我需要编写一个函数来检查一个数是否在另一个数的10%
范围内。你知道吗
我写了这个函数:
def IsCloseEntough(num1, num2 ):
percent = num1/100
if num1-percent < num2 and num2< num1+percent:
return True;
else:
return False;
如果num1-10% of num1 < num2 < num1+10%
,则返回True
。这解决了这个问题,但是感觉这个代码不是很像Python。有没有办法让它更简单?你知道吗
Tags:
我认为最清晰的方法非常接近你的功能,只是做了一些改动:
if/else
像这样:
PEP 0485引入了^{} 函数(它的复杂表亲^{} 用于进行此类检查;它还检查特殊值,如
NaN
,Inf
等。明显的缺点是,据我所知,它只出现在Python 3.5
中,还处于婴儿期,所以将来可能会做一些整容手术。你知道吗基本功能:
这是一个内置的(因此可以有效地与
filter()
之类的东西一起使用),用于检查两个数字的接近程度,并允许在尝试寻找近似值时具有更大的灵活性。你知道吗在内部,它以类似的方式使用} source 对于您自己,它很可能是最有效的。(可以在^{} 找到it python的一个版本)
abs
解决方案,看看^{对于较早版本的Python,您可以使用已经指出的解决方案,或者查看
math.isclose()
是如何实现的,并从中获得灵感。你知道吗注意,在大多数情况下应该指定} 函数提供的。你知道吗
rel_tol
,除非处理0
附近的值。此外,对于需要评估数组元素的情况,最有效的使用可能是由^{你能做到的
相关问题 更多 >
编程相关推荐