Метод Python math.isclose()

Python math 模块Модуль math в Python

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))

Результат вывода:

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))

Результат вывода:

False
0.30000000000000004
True

Python math 模块Модуль math в Python

Другие расширения