Как округлить в python в большую сторону
Перейти к содержимому

Как округлить в python в большую сторону

  • автор:

9.2. Python – Метод math.ceil() – округление в большую сторону числа

Метод ceil() – возвращает максимальное значение x – наименьшее целое число не меньше x. Простыми словами, в Python метод ceil() округляет число в большую сторону.

Синтаксис

Ниже приведен синтаксис метода ceil() в Python:

import math math.ceil(x) 

Примечание. Эта функция недоступна напрямую, поэтому нам нужно импортировать математический модуль, а затем нам нужно вызвать эту функцию, используя математический статический объект.

Параметры

х – числовое выражение.

Возвращаемое значение

Функция возвращает наименьшее целое число не меньше x – округление в большую сторону числа x.

Пример

В следующем примере показано использование метода ceil() в Python.

#!/usr/bin/python import math # Это импортирует математический модуль print "math.ceil(-45.17): ", math.ceil(-45.17) print "math.ceil(100.12): ", math.ceil(100.12) print "math.ceil(100.72): ", math.ceil(100.72) print "math.ceil(119L): ", math.ceil(119L) print "math.ceil(math.pi): ", math.ceil(math.pi) 

Когда приведённый выше код выполнится, он даст следующий результат:

math.ceil(-45.17): -45.0 math.ceil(100.12): 101.0 math.ceil(100.72): 101.0 math.ceil(119L): 119.0 math.ceil(math.pi): 4.0 

Оглавление

  • 1. Python – Самоучитель для начинающих
  • 2. Python – Обзор
  • 3. Python – Установка среды
  • 4. Python – Базовый синтаксис
  • 4.1. Python – Аргументы командной строки
  • 5. Python – Типы переменных
  • 6. Python – Основные операторы
  • 6.1. Python – Арифметические операторы
  • 6.2. Python – Операторы сравнения
  • 6.3. Python – Операторы присваивания: примеры
  • 6.4. Python – Побитовые операторы
  • 6.5. Python – Логические операторы
  • 6.6. Python – Операторы членства
  • 6.7. Python – Операторы идентификации
  • 6.8. Python – Приоритет операторов
  • 7. Python – Условные операторы
  • 7.1. Python – Условие if
  • 7.2. Python – Условные операторы if. else и elif
  • 7.3. Python – Вложенные операторы if
  • 8. Python – Циклы
  • 8.1. Python – Цикл while
  • 8.2. Python – Цикл for
  • 8.3. Python – Вложенные циклы
  • 8.4. Python – Оператор break
  • 8.5. Python – Оператор continue
  • 8.6. Python – Оператор pass
  • 9. Python – Числа
  • 9.1. Python – Метод abs()
  • 9.2. Python – Метод ceil()
  • 9.3. Python – Метод cmp()
  • 9.4. Python – Метод exp()
  • 9.5. Python – Метод fabs()
  • 9.6. Python – Метод floor()
  • 9.7. Python – Метод log()
  • 9.8. Python – Метод log10()
  • 9.9. Python – Метод max()
  • 9.10. Python – Метод min()
  • 9.11. Python – Метод modf()
  • 9.12. Python – Метод pow()
  • 9.13. Python – Метод round()
  • 9.14. Python – Метод sqrt()
  • 9.15. Python – Метод choice()
  • 9.16. Python – Метод randrange()
  • 9.17. Python – Метод random()
  • 9.18. Python – Метод seed()
  • 9.19. Python – Метод shuffle()
  • 9.20. Python – Метод uniform()
  • 9.21. Python – Метод acos()
  • 9.22. Python – Метод asin()
  • 9.23. Python – Метод atan()
  • 9.24. Python – Метод atan2()
  • 9.25. Python – Метод cos()
  • 9.26. Python – Метод hypot()
  • 9.27. Python – Метод sin()
  • 9.28. Python – Метод tan()
  • 9.29. Python – Метод degrees()
  • 9.30. Python – Метод radians()

Функции округления чисел

Функция math.trunc() отбрасывает дробную часть числа x . Результат будет целым числом.

>>> import math >>> math.trunc(3.14) # 3 >>> math.trunc(-3.14) # -3 
math.floor(x) :

Функция math.floor() возвращает x округленное в меньшую сторону до ближайшего целого.

>>> import math >>> math.floor(3.14) # 3 >>> math.floor(-3.14) # -4 
math.ceil(x) :

Функция math.ceil() возвращает x округленное в большую сторону до ближайшего целого.

>>> import math >>> math.ceil(3.14) # 4 >>> math.ceil(-3.14) # -3 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Функции теории чисел модуля math
  • Функции округления чисел модуля math
  • Степенные и логарифмические функции
  • Тригонометрические функции модуля math
  • Функции преобразование меры углов модуля math
  • Гиперболические функции модуля math
  • Константы и специальные значения модуля math
  • Специальные функции модуля math

Округление числа в большую сторону

Полагаю, можно использовать int или функцию round, но округление в меньшую сторону будет. Можно думаю сделать например round(. ) + 1, но если выражение a * b / 0.81 равно целому числу?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Округление переменной в меньшую сторону
Здравствуйте. У меня переменная равна 1.2207133058984911 Когда я ее округляю так round(x, 3) он.

Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника. Определить большую сторону
Есть задание: Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника.

Округление в меньшую сторону
Всем доброго времени суток, столкнулся по сути с примитивной проблемой, но уже всю голову сломал.

Округление числа в большую сторону
Добрый день! Подскажите пожалуйста. Пользователь вводит число, которое может быть дробным. Как.

Эксперт Python

7279 / 4102 / 1794
Регистрация: 27.03.2020
Сообщений: 6,926

newtmasglee, можно использовать то, что int() всегда округляет в меньшую сторону. Положительные в меньшую по модулю. Отрицательные по модулю в большую сторону

Добавлено через 1 минуту
int(5//6) = 0
-int(-5//6) = 1

1727 / 967 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6

Лучший ответ

Сообщение было отмечено newtmasglee как решение

Решение

newtmasglee, Я не понял, Вам округлять нужно только до целых чисел или в том числе и десятичные с дробной частью, до определенной точности после запятой?

Добавлено через 44 минуты

ЦитатаСообщение от newtmasglee Посмотреть сообщение

нужно округлить выражение в большую сторону без использования библиотек

А почему без использования библиотек. Если библиотека встроенная, то какие могут быть проблемы.

Добавлено через 30 минут
Если округлять нужно до целых, то Gdez, дал Вам вариант решения.
Но судя по вашей формуле, результатом у Вас является десятичное число. Тогда метод предлагаемый Gdez, в лоб не подойдет, так как результатом будет десятичное число, а не целое. И что бы использовать этот прием придется перед делением сдвигая десятичную точку превращать число в целое, и после деления сдвигать десятичную точку назад, чтобы получить десятичное число.
Но в принципе это сработает.

Добавлено через 1 час 0 минут
newtmasglee, Вот, что у меня получилось, с учетом рекомендации предложенной Gdez,

1 2 3 4 5 6 7 8 9 10 11 12
a = int(input()) # 5 b = int(input()) # 6 print(a * b / 0.81) print('*************') # например если нам нужна точность 5 знаков после запятой x = -int((-100000 * a * b) // 0.81) x *= 0.00001 print(f"")
1 2 3
37.03703703703704 ************* 37.03704

Код работает и для положительных и для отрицательных чисел.

Добавлено через 17 минут
Или так, если формулу убрать в print :

1 2 3 4 5 6
a = int(input()) # 5 b = int(input()) # 6 # например если нам нужна точность 5 знаков после запятой print(f"<0.00001*(-int((-100000 * a * b) // 0.81)):.5f>")

Добавлено через 24 минуты
Если же нужно округлять до целых, то будет так

1 2 3 4
a = int(input()) # 5 b = int(input()) # 6 print(f"<(-int(-a * b // 0.81))>")

Объясните, как работает это округление числа в большую сторону?

Мне по заданию надо было округлить число в большую сторону, при это не использовав условный оператор и сторонние библиотеки. Не сумев разобраться самостоятельно, я полез в google и нашёл такое решение. Однако проблема в том, что я не понимаю, как это работает.

int(-1 * n // 1 * -1) 

Отслеживать

13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков

задан 23 сен 2021 в 19:42

suwjeejs _ suwjeejs _

73 1 1 серебряный знак 4 4 бронзовых знака

Это, как в анекдоте, «если выкрутить свечу, какое колесо. » Вот заставить бы того, кто задает такие задания, описать алгоритм работы любого оператора из решения, которое его устроит, без использования условного перехода. Например, целочисленное деление: 1. берем целую часть от деления. И. 2. Если исходное число больше нуля, то; если исходное число меньше нуля, то если дробная часть не равна нулю и т.д. С умножением на -1 тоже засада из 3-х «если», Вообще, ни один более или менее разумный алгоритм не обходится без 3-х китов программизма — последовательности выполнения, ветвления и циклов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *