Задача 143 Средняя

Аннотация Decimal, а внутри float

Строки прайс-листа приходят из импорта: цена бывает float (0.1), строкой ("1499.00") или Decimal. В классе написано price: Decimal, но сумма трёх товаров по 0.1 получается 0.30000000000000004. Доработайте PriceRow так, чтобы после создания price всегда был Decimal с тем значением, которое видит человек: 0.1 → Decimal("0.1").

Подсказка 1 из 2

Выведите type(PriceRow(1, 0.1).price).

Подсказка 2 из 2

Приведите тип в __post_init__. Сравните Decimal(0.1) и Decimal(str(0.1)).

main.py Загружаем Python… первый раз ~13 МБ, дальше из кэша

Ошибка в тексте

Сообщить об ошибке могут зарегистрированные пользователи — так в сообщениях меньше спама.

Войти, чтобы сообщить