Я новичок в Python, и у меня есть один вопрос.
Почему округление числа типа 5.5, 7.5, (всего).5 с нечетной целой частью с применением round(num)
работает правильно (правило 5/4), но округление числа вида (всего).5 с не-нечетной целой частью той же функцией возвращает только целую часть? (Но если мы добавим небольшое число, например 0,000000001, к этому десятичному числу, оно будет работать правильно.)
Я имею в виду, что следующее:
round(9.5)
возвращает 10, и это правильно. Но
round(8.5)
возвращает 8, а это неправильно. А
round(8.5 + 0.0000000000001)
возвращает 9.
Почему работает некорректно?
Я использую Python 3.2.2 в Windows.