Menu
Coddy logo textTech

Practice #4

Coddyの「Pythonデコレーター」コースのレッスン 11/12。

challenge icon

チャレンジ

中級

関数の入力引数を特定の範囲内に制限する、restrict_range という名前のデコレータを作成してください。

このデコレータは、入力引数に許可される最小値と最大値を示す2つのパラメータを受け取る必要があります。入力引数が指定された範囲外である場合、デコレータは例外 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オンラインコンパイラ