Условие
Дано положительное действительное число X. Выведите его дробную часть.
Решение
x = float(input()) print(x - int(x))
Комментарии
Аноним :
Не работает ваша программа, к сожалению!
17.9
0.8999999999999986
Аноним :
Действительно!
Добавить комментарий Отменить ответ
ЕГЭ на соточку для чайников
Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене
Как вывести дробную часть числа питон
Для целых чисел определены операции + , — , * и ** . Операция деления / для целых чисел возвращает вещественное число (значение типа float ). Также функция возведения в степень возвращает значение типа float , если показатель степени — отрицательное число.
Но есть и специальная операция целочисленного деления, выполняющегося с отбрасыванием дробной части, которая обозначается // (она соответствует операции div в Паскале). Она возвращает целое число: целую часть частного. Другая близкая ей операция − это операция взятия остатка от деления, обозначаемая % (она соответствует операции mod в Паскале). Например:
print(17 / 3) # выведет 5.66666666667 print(17 // 3) # выведет 5 print(17 % 3) # выведет 2
2. Действительные числа
В этом разделе речь пойдет о действительных числах, имеющих тип float .
Обратите внимание, что если вы хотите считать с клавиатуры действительное число, то результат, возращаемый функцией input() необходимо преобразовывать к типу float :
1.492
x = float(input()) print(x)
Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято при записи десятичных дробей в русских текстах). Для записи очень больших или очень маленьких по модулю чисел используется так называемая запись «с плавающей точкой» (также называемая «научная» запись). В этом случае число представляется в виде некоторой десятичной дроби, называемой мантиссой, умноженной на целочисленную степень десяти (порядок). Например, расстояние от Земли до Солнца равно 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 .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
import math
Например, пусть мы хотим округлять вещественные числа до ближайшего целого числа вверх. Соответствующая функция ceil от одного аргумента вызывается, например, так: math.ceil(x) (то есть явно указывается, что из модуля math используется функция ceil ). Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
import math x = math.ceil(4.2) y = math.ceil(4.8) print(x) print(y)
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
from math import ceil x = 7 / 2 y = ceil(x) print(y)
from math import * x = 7 / 2 y = ceil(x) print(y)
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией языка Питон.
Некоторые из перечисленных функций ( int , round , abs ) являются стандартными и не требуют подключения модуля math для использования.
Как вывести дробную часть числа питон
Здравствуйте!
Подскажите, пожалуйста, как получить дробную часть числа?
Например, 97.54, как мне получить 54?
Если можно, то без дополнительных функций.
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,254
a = 97.54 f = a - int(a)
import math a = 97.54 f, _ = math.modf(a)
Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 16,191
Сообщение от BDA
f = a — int(a)
А разве мы не получим 0.54, а ТС хочет получить 54?
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
Сообщение от Arigato
. ТС хочет получить 54?
Да! Как это сделать?
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,254
Arigato, да, и правда, получим дробное. Женя32, например:
int(str(97.54).split('.')[1])
Но тут могут быть нюансы: сколько нужно знаков после запятой, как предполагается использовать число.
Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 16,191
Можно в цикле умножать на 10, пока дробная часть не станет равна нулю или же не достигнем нужного числа знаков.
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
Сообщение от BDA
Arigato, да, и правда, получим дробное. Женя32, например:
int(str(97.54).split('.')[1])
Но тут могут быть нюансы: сколько нужно знаков после запятой, как предполагается использовать число.
Все, работает! Спасибо!
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
Возник вопрос: почему split переворачивает цифры числа?
Например, было 10 выдает 01, было 30 выдает 03, было 50 выдает 05, и т.д.
Как это исправить?
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
Показывайте код. У меня не переворачивает.
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
Я не правильно сказал. От десятков убирает 0, было 10 стало 1, было 30 стало 3 и т.д.
price = [22.10, 12.20, 22.30, 33.60]
for i in range(len(price)):
if price[i] % 1 != 0:
st = str(price[i])
inp = st.split(‘.’)[-1]
print(inp)price = [22.10, 12.20, 22.30, 33.60]
for i in range(len(price)):
if price[i] % 1 != 0:
st = str(price[i])
inp = st.split(‘.’)[-1]
print(inp)
Последний раз редактировалось Женя32; 14.07.2021 в 18:28 .
| Страница 1 из 2 | 1 | 2 | Следующая > |
| Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Как посчитать дробную и целую часть числа переводя его из 10-тичной в 8-ричную систему?! | diallfam | Помощь студентам | 2 | 06.05.2012 01:44 |
| выделить дробную часть числа | unbanned | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 18.06.2011 22:23 |
| как получить дробную часть float | ]tach[ | C++ Builder | 6 | 23.01.2011 15:57 |
| простой вопрос — как получить дробную часть | Inta | Microsoft Office Excel | 2 | 19.11.2008 22:11 |
| отделить дробную часть от числа | |v||v| | Общие вопросы C/C++ | 19 | 24.09.2008 18:21 |
Математические операции в Python: как вывести дробную часть и работать с числами

Представление чисел в Python 3 не отличается от обычных математических чисел. И поддерживают такие числа самые обыкновенные операции: сложение, вычитание, умножение, деление, возведение в степень, получение дробной части и т. п.
Целые числа (int)
Ниже вы можете увидеть стандартные Python-операции, в которых используется целое число (int):
| a + b | Складываем |
| a — b | Вычитаем |
| a * b | Умножаем |
| a / b | Делим |
| a // b | Можем вывести целую часть от деления |
| a % b | Можем вывести остаток от деления |
| -a | Меняем знак числа |
| abs(x) | Можем вывести модуль числа x |
| divmod(a, b) | Пара (a // b, a % b) |
| a ** b | Операция для возведения в степень |
| pow(a, b[, x]) | ab по модулю (в случае, если модуль задан) |
Кроме того, числа int в Python 3 поддерживают длинную арифметику в отличие от некоторых других языков программирования. Однако для этого требуется больше памяти.
Битовые операции
Над числами int в Python можно выполнять и битовые операции. К примеру, a | b — это побитовое «или». Есть и другие варианты:
| a ^ b | Побитовое исключающее или |
| a & b | Побитовое и |
| a | Сдвиг влево |
| a >> b | Сдвиг вправо |
| ~a | Инверсия битов |
Дополнительные методы и операции в Python
В эти операции входят: • int.bit_length() — количество бит, которое необходимо, чтобы представить число в двоичном виде без учёта лидирующих нулей и знака; • int.to_bytes(length, byteorder, *, signed=False) — метод возвращает строку байтов, которые представляют это число; • classmethod int.from_bytes(bytes, byteorder, *, signed=False) — возвращение числа из заданной строки байтов.
Пример работы последнего метода:
>>> >>> int.from_bytes(b'\x00\x10', byteorder='big') 16 >>> int.from_bytes(b'\x00\x10', byteorder='little') 4096 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) -1024 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False) 64512 >>> int.from_bytes([255, 0, 0], byteorder='big') 16711680Операции с системами счисления
Как гласит математика и информатика, числа можно представить как в десятичной, так и в двоичной системе счисления. Допустим, число 19 в двоичной системе имеет вид 10011. Также можно переводить числа из одной системы в другую. В Python для этого есть ряд функций: • int([object], [основание системы счисления]) — функция нужна для преобразования к целому числу. По умолчанию речь идёт о десятичной системе, однако можно задать любое основание в пределах чисел 2-36. • bin(x) — функция для преобразования целого числа в двоичную строку; • hex(х) — аналогично, но действительное целое число преобразуется в шестнадцатеричную строку; • oct(х) — для преобразования чисел в восьмеричную строку.
>>> >>> a = int('19') # Строка переводится в число >>> b = int('19.5') # Строка не является числом Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '19.5' >>> c = int(19.5) # Отсекает дробную часть, если применена к числу с плавающей точкой >>> print(a, c) 19 19 >>> bin(19) '0b10011' >>> oct(19) '0o23' >>> hex(19) '0x13' >>> 0b10011 # Вариант записи числовых констант 19 >>> int('10011', 2) 19 >>> int('0b10011', 2) 19Операции с вещественными числами (float)
Чтобы вывести дробную часть, в Python используют вещественные числа. Они поддерживают выполнение тех же операций, что и в случае с int. Но из-за особенностей их представления в компьютере, когда выводишь дробную часть, возможны неточности и даже ошибки:
>>> >>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 0.9999999999999999Для повышения точности операций используются такие объекты, как Decimal и Fraction.
Вспомогательные методы
К ним относят:
• float.as_integer_ratio() — это пара целых чисел int, отношение которых равно этому числу; • float.is_integer() — функция определят, является ли данное значение целым числом; • float.hex() — функция переводит float в 16-тиричную систему счисления, то есть в hex; • classmethod float.fromhex(s) — функцию используют для получения float из 16-тиричной строки.Кроме стандартных выражений, в Python есть и специальные полезные модули. Например, модуль math позволяет выполнять более сложные арифметические функции:
>>> >>> import math >>> math.pi 3.141592653589793 >>> math.sqrt(85) 9.219544457292887А вот модуль random запускает генератор случайных чисел, позволяя реализовать функции случайного выбора:
>>> >>> import random >>> random.random() 0.75849839767373282Комплексные числа в Python (complex)
Также в Python встроены комплексные числа:
>>> >>> x = complex(1, 2) >>> print(x) (1+2j) >>> y = complex(3, 4) >>> print(y) (3+4j) >>> z = x + y >>> print(x) (1+2j) >>> print(z) (4+6j) >>> z = x * y >>> print(z) (-5+10j) >>> z = x / y >>> print(z) (0.44+0.08j) >>> print(x.conjugate()) # Сопряжённое число (1-2j) >>> print(x.imag) # Мнимая часть 2.0 >>> print(x.real) # Действительная часть 1.0 >>> print(x > y) # Числа нельзя сравнить Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: complex() > complex() >>> print(x == y) # Однако можно проверить их на равенство False >>> abs(3 + 4j) # Модуль 5.0 >>> pow(3 + 4j, 2) # Возведение в степень, получение значения степени (-7+24j)Кроме того, для работы с complex может применяться модуль cmath.
На этом пока что всё. Следите за новостями и не забывайте оставлять свои комментарии!