プログラミングちょっと前回から間があいてしまいました。今回は「JRAの重賞を勝っている馬の父馬からサイアーラインを遡る。血統データが整備されている馬に限る」という条件に当てはまる種牡馬を列挙するところまでやりたいと思います。開発環境はPython3.4。これまでPythonを使った記事は2.7にしていましたが、新規にプログラム書くならPython3系にしたほうがいいかな、と思い直した次第。Connector/Pythonに変更。MySQLdbはPython3.4環境にはインストールできなかったため。Lab.」を使ってMySQLに格納したデータを使ってデータを見ていきます。全体の流れスタートはJRAの重賞を勝っている馬の父馬を列挙。上記から種牡馬情報を取得。取得した種牡馬情報からそれぞれの父馬を列挙。列挙した父馬の中でまだ種牡馬情報を取得していないものを列挙。列挙した種牡馬情報を取得して、リストに追加。それ以上父を辿れない状況になった時点で終了。DBへのアクセスはデザインパターンのDaoパターン的なやり方でおこなうことにします。Connector/Pythonへ入れ替えを行ったように、DBアクセスするためのドライバを入れ替えることが今後発生しうるため、入れ替えをしやすくしたいということで。メインまずプログラムメインはこんな感じ。writer.writerows(sire_infos)DaoFactory、daoに関しては後で書くとして。流れとしては、sire_infosというリストに種牡馬情報を追加。dao.get_sire_infosで種牡馬情報を取得してsire_infosに追加。sire_infosに登録済みの種牡馬一覧とその父馬一覧を列挙し、父馬の中に種牡馬情報を取得していないものを列挙。...というのを繰り返す形。最後に暫定でcsvで出力するという流れです。データアクセスオブジェクトまずデータアクセスオブジェクトのインターフェイスを定義。Pythonには明確なインターフェイスという考えがないようなので、オーバーライドしないで使ったら例外が発生する、というクラスで代用します。NotImplementedErrorデータアクセスオブジェクトの実装側。SireInfoDaoのサブクラスとして作っています。numberlist)DAO生成用のファクトリ。これを使って生成するようにしないと、ロジック内に特定のDAOに依存するコードが入っていまうので。con大体これで約1000頭ほどの情報が取得できるはず。ここから可視化する部分に関してはまた別途。マンデルブロ集合なんとなくF#でマンデルブロ集合の計算をやってみたくなったので、ちょっとコーディング。形態素解析」、30〜34。MySQLへのアクセス」という記事でF#からMySQLへアクセスするプログラムを書いてみましたが、ちょっとだけ修正。正規表現」、25〜29。(Haskell)昨日、JavaでのFizzBuzz問題をやってみた私。形態素解析」、35〜39。内容としては以下の記事の続きになります。その3前回に引き続きリバーシの終盤読み。前回時点で約280秒→約94秒と改善しましたが、継続して改善してみます。コメントをキャンセルメールアドレスが公開されることはありません。