Числа с плавающей точкой¶
Десятичные дроби в Python хранятся в формате с плавающей точкой и представлены типом float . Они могут быть записаны несколькими способами:
Конструкция float(x) принимает строку или целое число и возвращает число с плавающей точкой, т.е. объект типа float . Примеры:
Для вывода чисел с плавающей точкой, как и для вывода других объектов, может быть использована функция print :
Также существует способ указать количество выводимых знаков после запятой:
При преобразовании чисел с плавающей точкой в целые дробная часть отбрасывается, округления по арифметическим правилам не выполняется:
Для решения вычислительных задач может быть полезен модуль math из стандартной библиотеки языка Python. Для его использования нужно написать строку import math . Для решения задач нам понадобятся число \(\pi\) и функция извлечения квадратного корня. Примеры их использования:
Задачи¶
Дан диаметр окружности \(d\) . Найти ее длину по формуле \(length = \pi \cdot d\) .
Дано значение температуры \(t\_f\) в градусах Фаренгейта. Определить значение этой же температуры в градусах Цельсия. Температура по Цельсию \(t\_c\) и температура по Фаренгейту \(t\_f\) связаны следующим соотношением:
Найти значение функции \(y = 3x^6 — 6x^2 — 7\) при заданном значении \(x\) .
Даны два неотрицательных числа \(a\) и \(b\) . Найти их среднее геометрическое по формуле \(\sqrt\) .
Даны катеты прямоугольного треугольника \(a\) и \(b\) . Найти его гипотенузу \(c\) и периметр \(p\) :
Найти значение функции \(y = 4(x — 3) ^ 6 — 7(x-3) ^ 3 + 2\) при заданном значении \(x\) .
Дан радиус круга, найти его площадь по формуле \(s = \pi \cdot r ^ 2\) .
Дано значение температуры в градусах Цельсия. Вычислить значение этой же температуры в градусах Фаренгейта. Формулу вывести самостоятельно.
Дан объем данных в мегабайтах. Перевести его в гигабайты и килобайты. Результат вывести с точностю до двух знаков после запятой.
Python: определить количество знаков после запятой
В данной статье мы рассмотрим, как определить количество знаков после запятой с использованием языка программирования Python.
Метод 1: Преобразование числа в строку
Первый метод заключается в преобразовании числа в строку и подсчете символов после запятой. Рассмотрим следующий пример:
В данном примере мы создали функцию count_decimal_places , которая принимает на вход число и возвращает количество знаков после запятой. Этот метод прост и удобен для использования с вещественными числами.
Метод 2: Использование модуля decimal
Второй метод предполагает использование модуля decimal из стандартной библиотеки Python. Этот метод подходит для более точных вычислений, так как модуль decimal предоставляет возможность работать с числами произвольной точности. Рассмотрим пример:
В этом примере мы создали функцию count_decimal_places , которая принимает на вход число и возвращает количество знаков после запятой. Для этого используется модуль decimal и его класс Decimal . Функция работает точно и позволяет определить количество знаков после запятой для чисел с большим количеством знаков после запятой.
Заключение
В данной статье мы рассмотрели два метода определения количества знаков после запятой с использованием языка программирования Python. Первый метод основан на преобразовании числа в строку, а второй – на использовании модуля decimal из стандартной библиотеки Python. Выбор метода зависит от задачи и требуемой точности вычислений.
Кол-во разрядов после запятой. Python
Есть число a типа float
Надо определить кол-во знаков после запятой в этом числе.
Например, для a = 0.25 это 2.
@jfs верно заметил, что число типа float может принимать разные формы: оно может быть такого вида: 1e-5 . И если сложить
Результат будет не совсем таким, который можно предсказать.
А тут 0.1 после единицы вообще сколько угодно нолей может быть.
В любом случае, вам без преобразования числа в строку никак не найти количество знаков после запятой.
Поэтому я предлагаю следующий код, чтобы не повторяться с предыдущими ответами:
Форматированные строки в Python: примеры использования
Ваши строки никогда не были такими ясными, мощными, красивыми.


художественно-промышленная академия имени А. Л. Штиглица

Форматирование и вывод строк — одна из наиболее типичных задач в любом языке программирования. Однако в Python до версии 3.6 у нас было, по большому счёту, всего два способа:
- оператор %;
- функция format().
Хотя они оба вполне работали в простых случаях, вывод хоть сколько-нибудь сложных строк был настоящей болью. Только взгляните на этих монстриков:
Что там говорят на вводных уроках про читаемость кода в Python?
Первый вариант никуда не годен: мало того что надо бегать глазами туда-сюда по строке, — надо ещё помнить о ключах после символа % (для разных типов они разные, s — для строк) и не забыть поставить ещё один % между строкой и кортежем с переменными.
Второй вариант, то есть функция .format(), чуть получше, так как параметры-заменители в фигурных скобках облегчают читаемость, но всё равно не вполне подходит для строк с большим количеством переменных.
Так жить нельзя, решил однажды Гвидо ван Россум , и в версии 3.6 появились
f-strings, они же formatted string literals, — литералы форматированных строк. Или просто форматированные строки, эф-строки, или даже, не побоимся этого слова, эф-стринги. Строки в Python’е стали «питоничнее» — компактнее, удобнее, читаемее.