Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как округлять вверх python: примеры и советы

  1. Как округлять вверх python: примеры и советы

    Ребят, привет! Столкнулся с задачей, где надо округлять числа вверх в Python, а я уже голову сломал, как это корректно сделать: у меня есть флоаты типа 12.3, 15.999, 20.1, и я хочу, чтобы они округлялись к ближайшему большему целому, т.е. чтобы стало 13, 16, 21. Использую питон недавно, может кто покидает примеры с кодом, как это провернуть, и разные способы реализации? Буду благодарен за любой допомощ. Peace!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Чувак, самый простой способ это использовать функцию `math.ceil`. Она как раз тупо берет число и округляет его вверх. Вот пример:

    Программный код:
    import math

    numbers 
    = [12.315.99920.1]
    rounded_numbers = [math.ceil(num) for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Но имей в виду, что для этого нужно импортировать модуль math, так что не забудь про это!

  4. Цитата Сообщение от Edward
    Чувак, самый простой способ это использовать функцию `math.ceil`. Она как раз тупо берет число и округляет его вверх. Вот пример:

    Программный код:
    import math

    numbers 
    = [12.315.99920.1]
    rounded_numbers = [math.ceil(num) for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Но имей в виду, что для этого нужно импортировать модуль math, так что не забудь про это!
    О, не знал про `math.ceil`, клево! Реально просто и понятно. А еще какие варианты есть?

  5. Еще можно через numpy замутить. Вот кодик:

    Программный код:
    import numpy as np

    numbers 
    np.array([12.315.99920.1])
    rounded_numbers np.ceil(numbers)

    print(
    rounded_numbers)  # Выведет: [13. 16. 21.] 
    Только да, надо сначала numpy установить: `pip install numpy`

  6. Цитата Сообщение от Настя
    Еще можно через numpy замутить. Вот кодик:

    Программный код:
    import numpy as np

    numbers 
    np.array([12.315.99920.1])
    rounded_numbers np.ceil(numbers)

    print(
    rounded_numbers)  # Выведет: [13. 16. 21.] 
    Только да, надо сначала numpy установить: `pip install numpy`
    Неплохо, особенно для тех, кто уже юзает numpy в проектах. Буквально одной строкой!

  7. И еще метод через старый добрый `float`. Здесь воспользуемся форматированием строк:

    Программный код:
    numbers = [12.315.99920.1]
    rounded_numbers = [int(f"{num:.0f}") if num.is_integer() else int(f"{num+1:.0f}") for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Да, чуть заморочено, но без дополнительных модулей.

  8. Цитата Сообщение от Debsot
    И еще метод через старый добрый `float`. Здесь воспользуемся форматированием строк:

    Программный код:
    numbers = [12.315.99920.1]
    rounded_numbers = [int(f"{num:.0f}") if num.is_integer() else int(f"{num+1:.0f}") for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Да, чуть заморочено, но без дополнительных модулей.
    Это как-то слишком сложно для таких простых вещей. Но круто, что все же вариант!

  9. Ребзя, если кто-то хочет покреативить и немного попрограммировать ручками, можно написать свою функцию:

    Программный код:
    def custom_ceil(num):
    return 
    int(num) if num == int(num) else int(num) + 1

    numbers 
    = [12.315.99920.1]
    rounded_numbers = [custom_ceil(num) for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Вроде ничего сложного, зато понимаешь, как оно реально работает.

  10. Цитата Сообщение от AlexForest
    Ребзя, если кто-то хочет покреативить и немного попрограммировать ручками, можно написать свою функцию:

    Программный код:
    def custom_ceil(num):
    return 
    int(num) if num == int(num) else int(num) + 1

    numbers 
    = [12.315.99920.1]
    rounded_numbers = [custom_ceil(num) for num in numbers]

    print(
    rounded_numbers)  # Выведет: [13, 16, 21] 
    Вроде ничего сложного, зато понимаешь, как оно реально работает.
    Своя функция - это всегда плюс карме! Зачетный пример!

Страница 1 из 2 12 ПоследняяПоследняя