LL魂

小町算 (5)

組み合わせを作るところをflatten_for関数を使って書いてみた。 # 今までの方法 a = [['1']] for n in map(str, range(2, 10)): b = [] for s in a: for o in ['+', '-', '*', '/', '']: b.append(s + [o, n]) a = b # flatten_forを使った方法 ops = ['+', …

感想の感想

sshi.Continual: LL魂(LLSpirit)に行ってきましたよ (http://d.hatena.ne.jp/sshi/20070805/p1#seemore) 感想がすごい良くまとまっている。Pythonのところは細かいところだが少し気になった。 Pythonの「同じ機能は誰が書いても同じになる」って話を聞いた時…

LL魂に行ってきた

初めてプログラミング関係のイベントに参加した。来年は8月30日に中野ゼロホールで1300人で開催するらしく場所が地元だから来年も参加することにした。ただ時間が長くて座りっぱなしだったのでクーラーが結構辛かった。 内容はかなり面白く、普段ブログとか…

小町算(4)

7月20日の日記のパーサを少し書き直した。以下の点が改善された。 komachi_parser.e()にlistとdequeのどちらでも渡せるようになった。 komachi_parser.e()に渡したリストの値を破壊しない。 インデックスを使うことによりパフォーマンスが少し改善された。 1…

小町算(3)

evalする代わりに自分でパーサを書いた。 # komachi_parser.py # -*- coding: utf-8 -*- def e(L): '+, -を処理' v1 = t(L) while True: if L and (L[0] == '+' or L[0] == '-'): op = L.pop(0) v2 = t(L) if op == '+': val = v1 + v2 elif op == '-': val …

小町算(2)

以下はk.inabaさんの再帰下降で自分でパースしたバージョン。 d.y.d. 小町算 (http://www.kmonos.net/wlog/75.html#_1916070718) すばらしい!後で研究してみるつもり。

小町算

問題2:小町算 (http://karetta.jp/article/blog/ll-spirit/034942) はじめてのにき 小町 (http://shinh.skr.jp/m/?date=20070718#p02) shinhさんのコードを参考に小町算をPythonで実装した。 # shinhさんのコード(Ruby) *a='1' ('2'..'9').map{|x|b=[] a.ma…