Если ты начинаешь свой путь в программировании и сталкиваешься с дробными числами, то наверняка задаешься вопросом как правильно округлять числа. Эта тема крайне важна, ведь от нее зависит точность расчетов – от финансовых до статистических. В Пайтоне существует несколько способов, и каждый из них имеет свои особенности. В этой статье мы разберем самые популярные из них.
А если ты хочешь освоить Python «с нуля», обрати внимание на актуальный курс GoIT, где ты получишь все необходимые знания для старта в IT!
int() и round(): базовые методы для округления чисел
Самый простой способ, который приходит на ум – это использовать int Пайтон. Эта встроенная функция просто отбрасывает дробную часть числа, не задумываясь о правилах математического округления.
x = 5.9
print(int(x)) # Выведет 5
Как видишь, int Python это «грубый» способ, который не учитывает математические правила. Поэтому он не всегда подходит для точных расчетов.
Для этого существует встроенная функция round Python. Она округляет число до ближайшего целого, а если дробная часть равна 0.5, то округляет до ближайшего четного числа. Это так называемое «банковское» округление. round python3 использует именно такой метод.
# Округление до ближайшего четного
print(round(2.5)) # Выведет 2
print(round(3.5)) # Выведет 4
# Округление до целого
print(round(5.7)) # Выведет 6
Ты также можешь указать количество знаков после запятой. Например, чтобы округлить до десятых, используй второй аргумент.
x = 3.14159
print(round(x, 1)) # Выведет 3.1
print(round(x, 2)) # Выведет 3.14
print(round(x, 3)) # Выведет 3.142
Как видишь, Python округление до сотых или округление до тысячных – это вовсе не проблема. Все эти операции выполняются по стандартным правилам. Также с помощью round() можно сократить число до нужного количества знаков.
Модуль math: точный контроль над округлением
Если тебе нужен полный контроль, то стоит подключить модуль math. Наверняка у тебя в голове уже возник вопрос: import math Python что это? Это команда, которая подключает встроенную библиотеку с дополнительными математическими функциями.
Чтобы округлить в большую сторону Python, используй функцию math.ceil(). Ее название происходит от английского слова «ceiling», что буквально переводится как «потолок».
import math
# Практический кейс: рассчитать количество упаковок, чтобы хватило на все 10.2 кг продукта
total_weight = 10.2
package_size = 1
packages_needed = math.ceil(total_weight / package_size)
print(f”Понадобится упаковок: {packages_needed}”) # Выведет “Понадобится упаковок: 11”

Если же тебе нужно округление в меньшую сторону Python, то используй math.floor() – от слова «floor» с английского, что переводится как «пол».
import math
# Практический кейс: рассчитать, сколько полных пачек чая по 500 грамм можно сделать из 2.7 кг чая
tea_kg = 2.7
package_kg = 0.5
packages_made = math.floor(tea_kg / package_kg)
print(f”Получится полных пачек: {packages_made}”) # Выведет “Получится полных пачек: 5”
Также есть функция Python trunc, которая работает как int() – просто откидывает дробную часть.
import math
print(math.trunc(4.9)) # Выведет 4
print(math.trunc(-4.9)) # Выведет -4
Практические советы и лайфхаки
Знак округления в Python зависит от выбранной функции. Помни, что int() и math.trunc() всегда «рубят» дробь, а round(), ceil() и floor() работают по разным правилам.
Еще один полезный лайфхак – это форматированный вывод с помощью f-string. Это позволяет округлить число Python при выводе, не меняя саму переменную.
pi = 3.14159265
print(f’Число pi с точностью до двух знаков: {pi:.2f}’) # Выведет 3.14
Кстати, если тебе нужны точные финансовые расчеты, лучше использовать модуль decimal. Он помогает избежать неточностей, свойственных числам с плавающей запятой (float).
Также стоит упомянуть, что деление в Питоне (/) всегда дает float, а деление без остатка Python (//) – целое число.
Популярные вопросы об округлении в Пайтон
Здесь ответим на самые популярные вопросы, которые возникают у новичков.
Как в Питоне округлить число до десятых?
Используй функцию round() со вторым аргументом: round(12.345, 1) -> 12.3.
Чем отличается округление в Пайтоне от int()?
round()
округляет по математическим правилам, а int() просто отбрасывает дробную часть.
Как округлить в большую сторону Python?
Для этого используй math.ceil(). Например, math.ceil(7.2) -> 8.
Что такое Python math floor?
Это функция из модуля math, которая округляет число до меньшего целого. math.floor(7.9) -> 7.
Что такое Python round down?
Это не официальная функция, но обычно под этим имеют в виду округление в меньшую сторону Питон, то есть math.floor().
Напомним, что главное – это практика. Чтобы научиться писать правильный код, нужно много практиковаться. На курсах Пайтон от GoIT ты сможешь получить все необходимые знания и навыки!