Lesson4-26:Cleaning Up Mc Problem
引数の値に応じて、関数を指定したい時のコードの書き方の話。 下記の様なコードがあった場合、
def mc_problem(start=(3, 3, 1, 0, 0, 0), goal=None): if goal == None: goal_fn = lambda state: (0, 0, 0) == state[:3] else: goal_fn = lambda state: goal == state
もしくは、下記の様にdefを用いて内部関数を宣言してもよい。
def mc_problem(start=(3, 3, 1, 0, 0, 0), goal=None): if goal == None: def goal_fn(state): return (0, 0, 0) == state[:3] else: def goal_fn(state): return goal == state