Условие
Дано положительное действительное число 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 . Более подробное описание этих функций можно найти на сайте с документацией языка Питон.
Как убрать дробную часть, не округляя число?
Из числа 0.15771428571428572 требуется убрать дробную часть после первого знака после запятой без округления, т.е.:
0.15771428571428572 = 0.1
0.20152380952380952 = 0.2
0.19123809523809523 = 0.1
Но в третьем случае почему-то округляется до 0.2.
print(414 / 2625) # 0.15771428571428572 print(float(''.format(414 / 2625))) # 0.2
Как сделать так, чтобы он отбрасывал всё, кроме первого знака после запятой, не округляя?
- Вопрос задан более года назад
- 2887 просмотров
1 комментарий
Простой 1 комментарий
Вывести дробную часть положительного числа на Питоне
Дано положительное действительное число X. Выведите его дробную часть. Вот моё решение, но оно неправильное:
print((int(a*1000)-(floor(a))*1000)/1000)
Отслеживать
52.2k 11 11 золотых знаков 108 108 серебряных знаков 312 312 бронзовых знаков
задан 12 дек 2017 в 18:22
49 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака
А что у вас получилось до сих пор?
12 дек 2017 в 18:28
print((int(a*1000)-(floor(a))*1000)/1000) получилось как-то так,но это решение неправильное
12 дек 2017 в 18:40
@helenmay ответ примите нажатием на галочку слева от него
10 мая 2018 в 9:28
6 ответов 6
Сортировка: Сброс на вариант по умолчанию
Остаток от деления на единицу, как это ни странно, даст нужный результат:
print (a%1)
Отслеживать
47.9k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
ответ дан 13 дек 2017 в 7:39
Владимир Мартьянов Владимир Мартьянов
9,649 4 4 золотых знака 21 21 серебряный знак 35 35 бронзовых знаков
>>> (15 / 8) % 1 0.875 >>> 15 / 8 1.875 Всё простое— реально очень просто!
10 фев 2022 в 18:06
Чтобы разделить число на дробную и целые части, можно math.modf() использовать:
>>> import math >>> math.modf(1.5) (0.5, 1.0)
Отслеживать
ответ дан 13 дек 2017 в 8:13
52.2k 11 11 золотых знаков 108 108 серебряных знаков 312 312 бронзовых знаков
print(x — int(x)) — это более точный вариант, но print(a%1) также сработает
Отслеживать
6,343 5 5 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
ответ дан 22 мар 2018 в 11:32
11 1 1 бронзовый знак
import math x = float(input()) y = x-math.floor(x) print(y)
И округлить по вкусу)))
Отслеживать
ответ дан 13 июн 2020 в 12:32
11 2 2 бронзовых знака
Из курса ВШЭ решал задание такое вот так:
from math import * x = float(input()) if x > 1: a = floor(x) b = x - a print(round(b, 2)) else: print(x)
Отслеживать
51.6k 200 200 золотых знаков 61 61 серебряный знак 242 242 бронзовых знака
ответ дан 1 июл 2020 в 20:11
41 3 3 бронзовых знака
def solution(n): decimal = divmod(n, 1) return round(list(decimal)[1], 10) print(solution(4.1))
Ответом будет 0.1| divmod(n,1) разделит число n на кортеж (4.0, 0.0999999998). Дальше я просто беру число под индексом [1] , это число 0.0999999998, и затем округляю его до десятых. В итоге получается 0.1
Отслеживать
ответ дан 5 дек 2021 в 17:11
23 4 4 бронзовых знака
В текущем виде ваш ответ непонятен. Пожалуйста, нажмите править под сообщением, чтобы добавить больше подробностей, которые помогут другим понять, как он отвечает на заданный вопрос. Вы можете найти больше информации о том, как писать хорошие ответы в Справке.
5 дек 2021 в 17:13
пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав править