DevGang
Авторизоваться

Округление чисел в Python пятью способами

Округлять числа — значит упрощать их, удаляя лишние десятичные части. Это важно, потому что упрощает математику и помогает нам лучше понимать и работать с числами. В этой статье мы обсудим, как можно округлять числа с помощью простых функций в NumPy в Python. Итак, давайте начнем.

1. Функция round()

Функция round() изменяет число или группу чисел до ближайшего целого числа или определенного количества знаков после запятой.

Основной синтаксис выглядит следующим образом:

np.round(array, decimals)

Здесь:

  • array: Это входной массив или число, которое вы хотите округлить.
  • decimals: Позволяет выбрать, до скольких цифр после запятой нужно округлять. Если вы не укажете, то округление будет произведено до ближайшего целого числа.

Как округляется:

Если десятичная часть числа меньше 0,5, оно округляется в меньшую сторону. Если десятичная часть 0,5 или больше, то округляется в большую сторону.

Давайте используем это в коде:

import numpy as np
 
a_input = input("Enter the decimal numbers with separating spaces: ")
arr = np.array([float(x) for x in a_input.split()])
d_places = int(input("Enter the number of decimal places to round to: "))
rounded_arr = np.round(arr, d_places)
print("Original array:", arr)
print("Rounded array:", rounded_arr)

Работа:

  • Программа просит пользователя ввести десятичные числа, разделенные пробелами.
  • Программа принимает введенные данные, разбивает их на пробелы, преобразует каждую часть в число с плавающей точкой и создает массив из этих чисел.
  • Затем она спрашивает пользователя, до скольких знаков после запятой нужно округлить число.
  • Она округляет каждое число в массиве до указанного количества знаков после запятой.
  • И наконец, печатает исходный массив и округленный массив.

Выходные данные:

2. Функция floor()

floor() - это еще одна функция библиотеки NumPy, которая помогает округлять числа до ближайшего целого числа или целой цифры.

Синтаксис функции выглядит следующим образом:

np.floor(array)

Здесь:

  • array - это входные данные.

Работа:

Всегда отбрасывается десятичная часть и округляется до меньшего целого числа. В случае положительных чисел он отсекает десятичную часть и превращает их в меньшее целое число. Для отрицательных чисел он движется к нулю и становится ближайшим меньшим целым числом.

Давайте разберемся с кодом:

import numpy as np
 
a_input = input("Enter the decimal numbers with separating spaces: ")
arr = np.array([float(x) for x in a_input.split()])
rounded_arr = np.floor(arr)
print("Original array:", arr)
print("Rounded array:", rounded_arr)

Этот код делает следующее:

  • Запрашивает десятичные числа, разделенные пробелами.
  • Преобразует их в числа с плавающей точкой и создает массив.
  • Округляет каждое число до ближайшего целого числа.
  • Выводит исходный массив и округленный массив.

Выходные данные:

3. Функция ceil()

Функция ceil() принимает на вход число или массив чисел и округляет их до ближайшего целого числа, которое больше или равно исходному числу.

Её синтаксис выглядит следующим образом:

np.ceil(array)

Здесь:

  • array - входные данные.

Принцип работы:

Всегда выполняется переход к следующему большему целому числу, игнорируя десятичную часть. Для положительных чисел он округляет в большую сторону. Для отрицательных чисел он переходит к следующему целому числу, ближайшему к нулю.

Давайте реализуем это с помощью кода:

import numpy as np
 
a_input = input("Enter the decimal numbers with separating spaces: ")
arr = np.array([float(x) for x in a_input.split()])
rounded_arr = np.ceil(arr)
print("Original array:", arr)
print("Rounded array:", rounded_arr)

Работа этого кода аналогична двум предыдущим, за исключением того, что он округляет каждое число до ближайшего целого числа.

Выходные данные:

Функции ceil() и floor() могут быть довольно запутанными, верно? Не волнуйтесь, у нас есть трюк, который поможет вам разобраться!

4. Функция trunc()

Функция trunc() берет число или группу чисел и отсекает десятичную часть, оставляя только целую часть.

Основной синтаксис выглядит следующим образом, в качестве входных данных используется массив:

np.trunc(array)

Как это работает:

Просто обрезается десятичная часть числа без округления. Всегда стремится к нулю. Для положительных чисел сохраняет целую часть. Для отрицательных чисел сохраняется целая часть и знак минус.

Давайте используем это в коде:

import numpy as np
 
a_input = input("Enter the decimal numbers with separating spaces: ")
arr = np.array([float(x) for x in a_input.split()])
rounded_arr = np.trunc(arr)
print("Original array:", arr)
print("Rounded array:", rounded_arr)

Этот код принимает на вход десятичные числа, превращает их в массив, а затем удаляет десятичную часть, чтобы оставить только целую часть, используя trunc().

Выходные данные:

5. Функция around()

Функция around() округляет вводимые данные до заданного количества десятичных знаков. Она похожа на round() в Python, но дает больше контроля над точностью округления.

Синтаксис для нее следующий:

np.around(array, decimals)

Здесь:

  • array - входные данные.
  • decimals - заданный предел, до которого их нужно округлить.

Как это работает:

Она округляет вводимое число до ближайшего значения с указанным количеством десятичных знаков. Если десятичная часть находится ровно на полпути между двумя округленными значениями, around() округляет до ближайшего чётного значения для более сбалансированного подхода к округлению.

Давайте реализуем это в коде:

import numpy as np
 
a_input = input("Enter the decimal numbers with separating spaces: ")
arr = np.array([float(x) for x in a_input.split()])
rounded_arr = np.around(arr, 0)
print("Original array:", arr)
print("Rounded array:", rounded_arr)

Этот код принимает на вход десятичные числа, формирует их в массив и округляет каждое число до ближайшего целого числа с помощью функции around().

Выходные данные:

Заключение

Упрощение чисел помогает в математике. В этой статье мы рассмотрели, как округлять числа в Python с помощью NumPy. Функция round() округляет до ближайшего целого или заданного десятичного знака, floor() округляет вниз, ceil() округляет вверх, trunc() отсекает десятичные знаки, а around() обеспечивает точное округление. Надеюсь, это поможет вам разобраться с округлением чисел!

Источник:

#Python #Numpy
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу