Я застрял на этом некоторое время, я сталкивался со многими различными функциями округления, но они округляют числа с плавающей точкой или округляются вверх и вниз, я ищу способ просто округлить число, даже если число равно 61, тогда оно округляется до 70 Есть ли способ, которым я могу сделать это в Python
4 ответа
Я думаю это должно работать нормально
ceil(61 / 10) * 10
Вы можете использовать оператор модуля, который делит данные числа и производит остаток:
def rounder(num, d):
return num - num % -d
Результат:
>>> print(*('{}: {}'.format(n, rounder(n, 10)) for n in range(15)), sep='\n')
0: 0
1: 10
2: 10
3: 10
4: 10
5: 10
6: 10
7: 10
8: 10
9: 10
10: 10
11: 20
12: 20
13: 20
14: 20
Просто используйте оператор по модулю.
number += (number%10) and (10 - number%10)
Вы ищете функцию потолка, которая всегда округляется
import math
def roundupby(n, by):
return math.ceil(n / by) * by
print (roundupby(61, 10))
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.