割引率のリストを受け取り、率ごとに価格計算の関数を作って返します。 make_calculators(rates) は各率について「価格を受け取り、その率で割引した 価格を返す関数」を作り、率の順番で並べたリストとして返します。 make_calculators を完成させてください。 例 calcs = make_calculators([0.1, 0.2, 0.3]) → 関数 3 個。calcs[0](10000) == 9000.0 (10% 割引)
標準ライブラリだけで割引率ごとの価格計算機を作る Python の問題です。割引率のリストを受け取り、率ごとに価格計算関数を作って率の順番で並べたリストとして返します。ループの中で作った関数がそれぞれ正しい値で計算するかを検証する力を練習します。
ループの中で複数の関数を作って集める書き方は Python でよく使われます。このとき、各関数が作られた時点の値をどう持っていくかをはっきり理解することが大切です。関数を一つだけ呼ぶと正しく見えることがあるため、複数を作ってそれぞれ呼び、率ごとに結果が違うかを確認する習慣が肝心です。この問題は、ループの中で作った関数が値をどう持っていくかという領域を扱います。