Не вижу противоречия:
>>> 345.7
345.7
Цель изменения была выводить число точно так же, как и вводится. Тут другой случай:
>>> 345.6+0.1 == 345.7
False
>>> 345.6+0.1 - 345.7
5.684341886080802e-14
Вот и ваша пятерка в младшем разряде.
Андрей СветловЭто понятно, у меня вопрос в том, что они поправили: алгоритм str->float или алгоритм float->str ?
Цель изменения была выводить число точно так же, как и вводится.