Monors Note

Pythonとそれ以外いろいろ

2017-06-01から1ヶ月間の記事一覧

Lesson1-25:Allmax

ポイント keyでFunctionを指定する際に、初期入力がNoneの時の対象法 Key指定時の注意点 pythonにおいてmax(a, key=function)など、基準として関数を指定することが可能。 このような関数を独自で実装するとき、key指定がない場合のfunctionをどうするかが問…

Lesson1-7:UsingMax

今回のポイント MaxはKeyにFunctionを指定することが出来る。指定されたFunctionは最大値算出時にMapのように一つずつ値を算出し、比較をしすることで最大値を算出する。 例 def poker(hands): "Return the best hand; poker([hand, ...]) => hand" return m…

Lesson1-3:Outlining The Problem

はじめに Design of Computer ProgramsのLesson1-3についてまとめる。 ここでの目標 今回作成するのは、ポーカーの手札を複数引数として取り込んで、そのなかから一番いい手を返すプログラム。

Dependency Injection

はじめに Dependency Injectionについて自分なりにまとめてみる。 (Dependency Injection コンテントにつていは記述していません。) 修正箇所があれば、Updateをしていく。 そもそも Dependency Injection(DI)をWikiで調べてみると… コンポーネント間の依存…

Problem set 4-2:More Pour Problem

目次 問題の説明 ポイント ソース 問題の説明 PouringProblemの拡張版を今回は作成する。 前回の(PouringProblem)jsakusan.hatenablog.comは、2つの容器を使用した場合で解決方法を探索した。 しかし、今回は容器の数をフレキシブルに変化可能にする。 容器…

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: go…

Lesson 4- 17: Calculating Costs

下記の定義のようなTupleがあり、最後から2眼目のtotal_costが欲しい。 この場合、一旦変数にいれてやると、可読性が上がる。 tupleの定義 path = [state, (action, total_cost), state, ....] コード def path_cost(path) if len(path) < 3: return 0 else…