2012-05-01から1ヶ月間の記事一覧

DjangoのQuerySetのannotateとfilterの順番について

今日ドキュメント読んで、なるほどと思ったのでメモ以下のようなモデルとデータがあるとして、Publisherごとにratingが3.0以上のBookの数をカウントしたい場合 class Publisher(models.Model): name = models.CharField(max_length=300) class Book(models.M…

文字列中のURL文字列をanchorタグにするfilter

こんな感じで書いてみました

Pythonの全文検索ライブラリWhooshを触ってみた

ほんとに触ってみただけですが、サンプルを書いてみました。複数のフィールドに対するOr検索をかけるにはMultifieldParserが使えるようです。 実行結果 -- titleの部分一致 [[u'1000', u'\u30b8\u30e7\u30b8\u30e7\u306e\u5947\u5999\u306a\u5192\u967a']] -…

Django 1.4のsyncdbでエラー

Django 1.4でsyncdbして、管理ユーザーを作成するところで以下のエラーが発生しました。 環境はmacosx 10.7.4。 Traceback (most recent call last): File "/Applications/PyCharm.app/helpers/pycharm/django_manage.py", line 20, in <module> run_module(manage_f</module>…

JavaScriptからメーラーを起動する方法

webページからjavascriptでメーラーを起動する方法を調べたのでメモ。 以下の通りで簡単でした。 location.hrefでmailtoに遷移させるだけ。 location.href = "mailto:xxxxxxxxxxx@xxxxxx.com"

Python2でCodeEvalのCash Register

お釣りを計算する。 辞書を金額の大きい順にソートして、お釣りの金額から引いていく方法でやってみた。input 15.94;16.00 24;29 30;15 296;297 398.50;400.25 63.55;89.35 100;100 output NICKEL,PENNY FIVE ERROR ONE ONE,HALF DOLLAR,QUARTER TWENTY,FIVE…

PythonでCodeEvalのReverse And Add

与えられた数値と、数値を逆順にしたものを足してそれが回文数になるまで繰り返す。 回文になったら繰り返した回数と得られた回文数を出力する例の場合195 + 591 = 786 786 + 687 = 1473 1473 + 3741 = 5214 5214 + 4125 = 9339以上で4回で回文数になる inpu…

PythonでCodeEvalのJolly Jumpers

与えられた数字の配列Nの、隣り合う数字の差分のリストが、1からlen(N) - 1のリストを満たす場合、Jollyと出力する1 4 2 3の場合、差分のリストは3 2 1。 1からlen(n)-1のリストは1 2 3なので、Jolly。input 1 4 2 3 output Jolly

Python 2.xでCodeEvalのNumber Pairs

数字ペアの和が一番右の数字と同じになる組み合わせを出力する。該当がなければNULLを出力する。input 1,2,3,4,6;5 2,4,5,6,9,11,15;20 1,2,3,4;50output 1,4;2,3 5,15;9,11 NULLitertools.combinationsを使用

PythonでCodeEvalのDouble Squares

入力値が2つの整数の二乗の和となる、組み合わせの数を求める。 inputの1行目は、処理をする後続の行数なので注意。input 5 10 25 3 0 1 output 1 2 0 1 1

Python 2.xでCodeEvalのTrailing String

input Hello World,World Hello CodeEval,CodeEval San Francisco,San Jose OK,NOK Random Numbers,ers output 1 1 0 0 1

Python 2.xでCodeEvalのDecimal To Binary

input 2 10 67output 10 1010 1000011

PythonでCodeEvalのSum of integers

連続した値の組み合わせの和で最大のものを出力するinput -10, 2, 3, -2, 0, 5, -15 2,3,-2,-1,10output 8 12Kadane's algorithmというのが使えるらしい ただし、すべての値がマイナスだと結果が0になってしまう(空配列) その場合は、処理中に一番大きな値も…

Python 2.xでCodeEvalのNumber of Ones

input 10 22 56output 2 3 3

PythonでCodeEvalのEndianness

CodeEval参考)http://www.python.jp/doc/2.6/library/sys.html#sys.byteorder

PythonでCodeEvalのRemove Characters

input how are you, abc hello world, def output how re you hllo worl

Python 2.xでCodeEvalのFirst Non-Repeated Character

CodeEvalinput yellow tooth output y h

PythonでCodeEvalのPangrams

input A quick brown fox jumps over the lazy dog A slow yellow fox crawls under the proactive dogoutput NULL bjkmqz

PythonでCodeEvalのDetecting Cycles

行内の繰り返しを抽出するinput 2 0 6 3 1 6 3 1 6 3 1output 6 3 1

Python 2.xでCodeEvalのSelf Describing Numbers

与えられた数値の各インデックスの値が、そのインデックスの出現回数とイコールのものをself describing numberとする2020の場合 "2020"[0]は2で、0は2回出現 "2020"[1]は0で、1は出現しない "2020"[2]は2で、2は2回出現 "2020"[3]は0で、3は出現しないよっ…

Python 2.xでCodeEvalのHappy Numbers

与えられた数字の各桁の二乗を足しあわせた数を求め、それが1になればHappy Number。 1にならなければ得られた数字に対して同じ処理を繰り返す。7の場合は7->49->97->130 ->10-> 1でHappyNumber22の場合は8->64->52->29->85->89->145->42->20->4->16->37->58…

Python 2.xでCodeEvalのRightmost Char

input Hello World,r Hello CodeEval,Eoutput 8 10rindexはsubstringが見つからない時にValueErrorをraiseするので、rfindを使う

Python 2.xでCodeEvalのSet Intersection

pythonのsetにはintersectionが用意されているのでそれを使った

Python 2.xでCodeEvalのUnique Elements

リストのuniqはデフォルトでは用意されていないので、自前で処理をかかないといけない。input 1,1,1,2,2,3,3,4,4 2,3,4,5,5output 1,2,3,4 2,3,4,5

Python 2.x でCodeEvalのFile Size

Python 2.xでCodeEvalのOdd Numbers

Python 2.xでCodeEvalのSum of Integers from File

input 5 12output 17

Python 2.xでCodeEvalのMultiplication Tables

1〜12までの掛け算の表。はじめてプログラミングの研修を受けたとき、似たような問題をやった覚えがある。 出力結果 1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 27 30 33 36 4 8 12 16 20 24 28 32 36 40 44 48 5 10…

Python 2.xでCodeEvalのFibonacci Series

input 5 12output 5 144

Python 2.xでCodeEvalのSum Of Digits

input 23 496output 5 19