Python では、2 つの float 変数値を比較して、それらが互いに特定の許容範囲内にあるかどうかを確認するにはどうすればよいですか?
例えば:
variable = 17.40
array = [14.40, 14.12, 45.50]
変数値と配列要素を比較して、どれが十分に近いかを確認する必要があります。
あなたも尋ねたこの質問から。変数が配列内にあるかどうかを確認するコードを次に示します (変数の値を配列要素と比較することで意図したものでない場合を除きます)。
TOLERANCE=10**-6
def are_floats_equal(a,b):
return abs(a-b) <= TOLERANCE
def float_in_array(number, array):
return True in [are_floats_equal(number, a) for a in array]
編集。配列を 1 回ループするだけなので、この方法で実行する方が少し効率的かもしれません (簡潔ではありませんが)。
def float_in_array(number, array):
for a in array:
if are_floats_equal(number, a):
return True
return False