Закрепление плавающих чисел в Python? - программирование
Подтвердить что ты не робот

Закрепление плавающих чисел в Python?

Есть ли встроенная функция для этого в Python 2.6?

Что-то вроде:

clamp(myValue, min, max)
4b9b3361

Ответ 1

Нет такой функции, но

max(min(my_value, max_value), min_value)

сделает трюк.

Ответ 2

Функция Numpy clip сделает это.

>>> import numpy
>>> numpy.clip(10,0,3)
3
>>> numpy.clip(-4,0,3)
0
>>> numpy.clip(2,0,3)
2

Ответ 3

Я думаю, что на вопрос есть ответ, но здесь есть альтернативное решение DIY, если это кому-то нужно:

def clip(value, lower, upper):
    return lower if value < lower else upper if value > upper else value

(Чуть быстрее, чем ответ @Sven Marnach - даже когда в границах).