Как вывести дробную часть числа питон
Для целых чисел определены операции + , — , * и ** . Операция деления / для целых чисел возвращает вещественное число (значение типа float ). Также функция возведения в степень возвращает значение типа float , если показатель степени — отрицательное число.
Но есть и специальная операция целочисленного деления, выполняющегося с отбрасыванием дробной части, которая обозначается // (она соответствует операции div в Паскале). Она возвращает целое число: целую часть частного. Другая близкая ей операция − это операция взятия остатка от деления, обозначаемая % (она соответствует операции mod в Паскале). Например:
2. Действительные числа
В этом разделе речь пойдет о действительных числах, имеющих тип float .
Обратите внимание, что если вы хотите считать с клавиатуры действительное число, то результат, возращаемый функцией input() необходимо преобразовывать к типу float :
Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято при записи десятичных дробей в русских текстах). Для записи очень больших или очень маленьких по модулю чисел используется так называемая запись «с плавающей точкой» (также называемая «научная» запись). В этом случае число представляется в виде некоторой десятичной дроби, называемой мантиссой, умноженной на целочисленную степень десяти (порядок). Например, расстояние от Земли до Солнца равно 1.496·10 11 , а масса молекулы воды 2.99·10 -23 .
Числа с плавающей точкой в программах на языке Питон, а также при вводе и выводе записываются так: сначала пишется мантисса, затем пишется буква e , затем пишется порядок. Пробелы внутри этой записи не ставятся. Например, указанные выше константы можно записать в виде 1.496e11 и 2.99e-23 . Перед самим числом также может стоять знак минус.
Напомним, что результатом операции деления / всегда является действительное число ( float ), в то время как результатом операции // является целое число ( int ).
Преобразование действительных чисел к целому производится с округлением в сторону нуля, то есть int(1.7) == 1 , int(-1.7) == -1 .
3. Библиотека math
Для проведения вычислений с действительными числами язык Питон содержит много дополнительных функций, собранных в библиотеку (модуль), которая называется math .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
Например, пусть мы хотим округлять вещественные числа до ближайшего целого числа вверх. Соответствующая функция ceil от одного аргумента вызывается, например, так: math.ceil(x) (то есть явно указывается, что из модуля math используется функция ceil ). Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией языка Питон.
Вывести дробную часть положительного числа на Питоне
Дано положительное действительное число X. Выведите его дробную часть.
Вот моё решение, но оно неправильное:
Остаток от деления на единицу, как это ни странно, даст нужный результат:
![]()
Чтобы разделить число на дробную и целые части, можно math.modf() использовать:
print(x — int(x)) — это более точный вариант, но print(a%1) также сработает
![]()
![]()
И округлить по вкусу)))
Из курса ВШЭ решал задание такое вот так:
![]()
Ответом будет 0.1| divmod(n,1) разделит число n на кортеж (4.0, 0.0999999998). Дальше я просто беру число под индексом [1] , это число 0.0999999998, и затем округляю его до десятых. В итоге получается 0.1
Всё ещё ищете ответ? Посмотрите другие вопросы с метками python алгоритм или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.13.42356
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Действительные числа
В этом листочке речь пойдет о действительных числах, имеющих тип float .
Обратите внимание, что если вы хотите считать с клавиатуры действительное число, то результат, возращаемый функцией input() необходимо преобразовывать к типу float :
Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято при записи десятичных дробей в русский текстах). Для записи очень больших или очень маленьких по модулю чисел используется так называемая запись “с плавающей точкой” (также называемая “научная” запись). В этом случае число представляется в виде некоторой десятичной дроби, называемой мантиссой, умноженной на целочисленную степень десяти (порядок). Например, расстояние от Земли до Солнца равно 1.496·10 11 , а масса молекулы воды 2.99·10 -23 .
Числа с плавающей точкой в программах на языке Питон, а также при вводе и выводе записавыются в виде мантиссы, затем пишется буква e , затем пишется порядок. Пробелы внутри этой записи не ставятся. Например, указанные выше константы можно записать в виде 1.496e11 и 2.99e-23 . Перед самим числом также может стоять знак минус.
Напомним, что результатом операции деления / всегда является действительное число, в то время как результатом операции // является целое число.
Преобразование действительных чисел к целому производится с округлением в сторону нуля, то есть int(1.7) == 1 , int(-1.7) == -1 .
Библиотека math
Для проведения вычислений с действительными числами язык Питон содержит много дополнительных функций, собранных в библиотеку (модуль), которая называется math .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
Функция от одного аргумента вызывается, например, так: math.sin(x) (то есть явно указывается, что из модуля math используется функция sin ). Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией на Питон.
A: Дробная часть
Дано положительное действительное число X. Выведите его дробную часть.
| Ввод | Вывод |
|---|
B: Первая цифра после точки
Дано положительное действительное число X. Выведите его первую цифру после десятичной точки. При решении этой задачи нельзя пользоваться условной инструкцией и циклом.
| Ввод | Вывод |
|---|
C: Округление по российским правилам
По российский правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x , округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!
| Ввод | Вывод |
|---|
D: Площадь треугольника
Даны длины сторон треугольника. Вычислите площадь треугольника.
| Ввод | Вывод |
|---|
E: Часы — 1
С начала суток прошло \(H\) часов, \(M\) минут, \(S\) секунд (\(0\le H 2 /6
По данному числу n вычислите сумму \(1+\frac<1><2^2>+\frac<1><3^2>+. +\frac<1>
| Ввод | Вывод |
|---|
Знаете ли вы, что этот ряд сходится к \(\pi^2/6\)?
N: ln 2
По данному числу n вычислите сумму \(1-\frac12+\frac13-\frac14++. +\frac<(-1)^
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n). Попробуйте также обойтись без использования инструкции if.
| Ввод | Вывод |
|---|
Этот ряд сходится к значению ln 2.
O: Геометрическая прогрессия
Забудьте формулу суммы геометрической прогрессии и вычислите сумму \(1+x+x^2+. +x^n\).
Программа получает на вход целое число n и действительное число x. Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n) (то есть должен содержать только один цикл).
| Ввод | Вывод |
|---|
P: Просто π
По данному числу n вычислите сумму \( 4\left(1-\frac13+\frac15-\frac17+. +\frac<(-1)^n><2n+1>\right)\)
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
| Ввод | Вывод |
|---|
Этот ряд сходится к числу \(\pi\).
Q: Экспонента
По данному целому числу n и действительному числу x вычислите сумму \( 1+\frac
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
| Ввод | Вывод |
|---|
Этот ряд сходится к \(e^x\) при росте \(n\).
R: Косинус
По данному целому числу n и действительному числу x вычислите сумму \( 1-\frac
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
| Ввод | Вывод |
|---|
Этот ряд сходится к \(\cos x\) при росте \(n\) (углы измеряются в радианах).
S: Сумма с корнями
По данным натуральным числам n и a вычислите сумму \[ \sqrt> > > \]
| Ввод | Вывод |
|---|
T: Схема Горнера
Дан многочлен \(P(x)=a_nx^n+a_
Сначала программе подается на вход целое неотрицательное число \(n\le20\), затем действительное число \(x\), затем следует \(n+1\) вещественное число — коэффициенты многочлена от старшего к младшему. Программа должна вывести значение многочлена.
При решении этой задачи нелья использовать массивы и операцию возведения в степень. Программа должна иметь сложность O(n).
| Ввод | Вывод |
|---|
U: Система линейных уравнений — 1
Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Известно, что система линейных уравнений \[ \cases
имеет ровно одно решение. Выведите два числа \(x\) и \(y\), являющиеся решением этой системы.
| Ввод | Вывод |
|---|
V*: Система линейных уравнений — 2
Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Решите систему линейных уравнений \[ \cases
Вывод программы зависит от вида решения этой системы.
Если система не имеет решений, то программа должна вывести единственное число 0 .
Если система имеет бесконечно много решений, каждое из которых имеет вид \(y=kx+b\), то программа должна вывести число 1 , а затем значения \(k\) и \(b\).
Если система имеет единственное решение \((x_0,y_0)\), то программа должна вывести число 2 , а затем значения \(x_0\) и \(y_0\).
Если система имеет бесконечно много решений вида \(x=x_0\), \(y\) — любое, то программа должна вывести число 3 , а затем значение \(x_0\).
Если система имеет бесконечно много решений вида \(y=y_0\), \(x\) — любое, то программа должна вывести число 4 , а затем значение \(y_0\).
Если любая пара чисел \((x,y)\) является решением, то программа должна вывести число 5 .