@JRBRO

Как применить допуск погрешности при сравнении двух чисел?

Вообщем, для получения вывода TRUE/FALSE я делаю простое сравнение

if bottom_right == bottom_right2: 
                print('equal')
            else:
                print('not equal')


Где
bottom_right = x:y
bottom_left = x2:y2


Но я бы хотел дать возможность погрешности

К примеру
bottom_right == bottom left TRUE (100:100 == 90:90)
bottom_right == bottom left TRUE (100:100 == 110:110)
bottom_right == bottom left FALSE (100:00 == 89:89)

Простыми словами, если разница между x/x2 либо у/y2 меньше Х, то все равно будет TRUE.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
mayton2019
@mayton2019
Bigdata Engineer
Обычно придумывают некую величину эпсилон EPS которая будет слишком маленькой в рамках
решаемой задачи. Например если ты считаешь расстояние от земли до марса - то плюс-минус 1 метр
для тебя не имеет значения. Тогда у тебя эпсилон == 1.0

У тебя будет что-то вроде abs(x1 - x2) < EPS && abs(y1 - y2) < EPS.
Ответ написан
@JRBRO Автор вопроса
Решил все просто.

Сложил вместе координаты x1, y1/ x2, y2 и сравниваю их с допуском при помощи isclose
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы