Menu
Coddy logo textTech

Practice #4

Урок 11 из 12 курса Декораторы в Python на Coddy.

challenge icon

Задание

Средне

Напишите декоратор с именем restrict_range, который ограничивает входные аргументы функции определенным диапазоном.

Декоратор должен принимать два параметра, указывающих минимальное и максимальное значения, допустимые для входных аргументов. Если входные аргументы выходят за пределы указанного диапазона, декоратор должен вызвать исключение — ValueError("Input argument out of range").

Вот пример использования декоратора:

@restrict_range(0, 10)
def add(a, b):
	return a + b

res = add(6, 5)  # возвращает 11
res = add(3, 11)  # вызывает ValueError

Вы можете предположить, что:

  • Все функции, декорированные с помощью restricted_range, используют в качестве аргументов только числа.
  • Все функции, декорированные с помощью restricted_range, не используют **kwargs, только *args.

Попробуйте сами

Все уроки раздела Декораторы в Python

Потренируйтесь самостоятельно: Онлайн-компилятор Python