Решение Python Задача «Дробная часть»
Условие
Дано положительное действительное число X.
Выведите его дробную часть.
Логика решения (очень простыми словами)
Если от числа отнять его целую часть, останется только дробная часть.
Например:
17.9 − 17 = 0.9
12.345 − 12 = 0.345
Целую часть можно получить с помощью int().
Важный момент
Из-за особенностей хранения чисел типа float в Python иногда получается результат вроде:
0.8999999999999986
вместо ожидаемого:
0.9
Это не ошибка формулы — это особенность представления чисел в компьютере.
Поэтому нужно использовать округление.
Функция round()
round(x, n)
Округляет число x до n знаков после точки.
Это стандартная функция Python.
Для её использования не нужно подключать модуль math.
Решение
x = float(input())
fraction = x - int(x)
print(round(fraction, 10))
Что происходит в коде
int(x)— убирает дробную часть.x - int(x)— оставляет только дробную часть.round(..., 10)— округляет число до 10 знаков после точки и убирает “лишний хвост”.
Пример
Ввод:
17.9
Вывод:
0.9
Почему 10 знаков?
10 знаков — это безопасный запас, чтобы убрать техническую погрешность.
Можно поставить 6 или 8 — этого тоже достаточно.
Главное запомнить
Если работаешь с float и видишь странные хвосты:
0.300000000000004
👉 используй round(x, n)
Leave a Reply