Menu
Coddy logo textTech

Ćwiczenie nr 4

Lekcja 11 z 12 w kursie Dekoratory w Pythonie w Coddy.

challenge icon

Wyzwanie

Średni

Napisz dekorator o nazwie restrict_range, który ogranicza argumenty wejściowe funkcji do określonego zakresu.

Ten dekorator powinien przyjmować dwa parametry określające minimalną i maksymalną dozwoloną wartość argumentów wejściowych. Jeśli argumenty wejściowe wykraczają poza określony zakres, dekorator powinien zgłosić wyjątek — ValueError("Input argument out of range").

Oto przykład użycia dekoratora:

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

res = add(6, 5)  # returns 11
res = add(3, 11)  # raises ValueError

Możesz założyć, że:

  • Wszystkie funkcje dekorowane za pomocą restricted_range przyjmują jako argumenty wyłącznie liczby.
  • Wszystkie funkcje dekorowane za pomocą restricted_range nie używają **kwargs, tylko *args.

Spróbuj swoich sił

Wszystkie lekcje w sekcji Dekoratory w Pythonie

Poćwicz samodzielnie: Kompilator Python online