def makeLimitedInt(minimum, maximum, default):


    class LimitedInt(int):

        def __new__(cls, x=default, *args, **kwargs):
            instance = int.__new__(cls, x, *args, **kwargs)
if not minimum <= instance <= maximum:
    raise ValueError('Value outside LimitedInt range')
return instance
return LimitedInt
Расширение типа Python int для приема только значений в заданном диапазоне