Почему 0.1 + 0.2 != 0.3 в Python?
Уровень: Middle
Ответ
Потому что 0.1 и 0.2 не могут быть точно представлены в двоичной системе, используемой для типа float. Двоичное приближение 0.1 и 0.2 приводит к небольшим ошибкам. При их сложении получается число, очень близкое к 0.3, но не ровно 0.3, поэтому сравнение (0.1+0.2 == 0.3) даст False. Это общая проблема двоичной арифметики с плавающей точкой. Решения: использовать класс Decimal с заданной точностью или округлять результат.