Метод Python math.isclose()
Python math.isclose()Метод используется для проверки, близки ли два значения друг к другу. Он возвращает True, если значения близки, в противном случае возвращает False.
math.isclose()Определяет, считаются ли два значения близкими в соответствии с заданными абсолютным и относительным допусками.
Версия Python: 3.5
Формула вычисления:
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
Синтаксис
Синтаксис метода math.isclose() выглядит следующим образом:
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
Описание параметра:
- a-- Обязательный, число. Если x не является числом, возвращает TypeError. Если значение равно 0 или отрицательное, возвращает ValueError.
- b-- Обязательный, число. Если x не является числом, возвращает TypeError. Если значение равно 0 или отрицательное, возвращает ValueError.
- rel_tol-- Относительный допуск. Это максимально допустимая разница между a и b относительно большего абсолютного значения a или b. Например, чтобы установить допуск 5%, передайте rel_tol=0.05. Допуск по умолчанию — 1e-09, что гарантирует совпадение двух значений примерно с точностью до 9 десятичных знаков. rel_tol должен быть больше нуля.
- abs_tol-- Минимальный абсолютный допуск, полезен для сравнений, близких к нулю. abs_tol должен быть не меньше нуля.
Возвращаемое значение
Возвращает логическое значение, проверяя, близки ли два значения друг к другу. Если значения близки, возвращает True; в противном случае возвращает False.
Пример
Следующий пример проверяет, близки ли два значения друг к другу:
Пример
# Импортируйте пакет math
import math
# Вывести, близки ли два значения
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
import math
# Вывести, близки ли два значения
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
Результат вывода:
False True
Следующий пример проверяет, близки ли два числа с плавающей запятой:
Пример
# Импортируйте пакет math
import math
# Может использоваться для сравнения чисел с плавающей запятой
# Это выведет false; 0.1+0.2 не равно 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# Это выведет true
print(math.isclose(0.1+0.2, 0.3))
import math
# Может использоваться для сравнения чисел с плавающей запятой
# Это выведет false; 0.1+0.2 не равно 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# Это выведет true
print(math.isclose(0.1+0.2, 0.3))
Результат вывода:
False 0.30000000000000004 TrueДругие расширения
Модуль math в Python