2008-01-01から1年間の記事一覧

ClientForm を使用した HTML parsing

呼称 : HTML form の操作 目的 : HTML form への入力や実行を扱う 用例 : tinyurl.com から短縮 URL を取得する 備考 : ClientForm が必要 ちょうど良いお題が LL Golf Hole 1 にありました(^ ^;; http://ja.doukaku.org/192/ #!/bin/env python import re f…

rpm プログラミング with python を読み砕く : 2

引用元ドキュメントから自分勝手に要点のみを抜粋 パッケージファイルを読み込む Python API は、インストールされた RPM パッケージの処理に加えて、RPM パッケージファイルを処理するメソッドを含みます。これらの大半のメソッドはヘッダオブジェクトを要…

標準入力の基本 : 1

呼称: 標準入力の取得 目的: 行単位で標準入力を読み込んでリストへ追加する 特徴: 改行コードの取扱いがポイント 用例: 何かとよく使うでしょ 備考: sys.stdin.readline()[:-1] とスライシングを使うのも有効 #!/bin/env python import sys lines = [] # us…

行の回転

気分転換。 ちょうどローテーションのアルゴリズムを学んだばっかりなのでトライ。rotate linesスペースもカウントされる事に気付いたので(最初から気付けよ(- -#)不要なスペース・インデントはカットしてみた。結構サイズが小さくなった。汎用的なアルゴリ…

珠玉のプログラミングのお題を python で書いてみた : 4

#!/bin/env python """ 2.4 the sort to summarize(P18-21) Problem C anagram : posts stop tops """ # global DIC = ['pans','pots','opt','snap','stop','tops'] def main(): print "Dictionary : ", DIC d = {} for i in DIC: sgrp = sign(i) if d.has_k…

rpm プログラミング with python を読み砕く : 1

引用元ドキュメントから自分勝手に要点のみを抜粋 本章(本連載)の概要 python を使って RPM を使う 必要なモジュールをインストールする RPM データベースを使ってプログラミングする RPM ファイルを使ってプログラミングする プログラムからパッケージをイ…

珠玉のプログラミングのお題を python で書いてみた : 3

#!/bin/env python """ 2.3 the loop/combination of basic procedure(P16-18) Problem B turning over : rotdist=3, "abcdefgh" -> "defghabc" Solution 1 """ # global DATA = ['a','b','c','d','e','f','g','h'] ROTDIST = 3 LENGTH = len(DATA) def main…

平方根を返すコード

先日、コードゴルフ(code golf)の用語と意味を知りました。 id:tokuhirom さんに教えて頂きました。ありがとうございます。屋内でもできる知的ゴルフです。コードゴルフ anarchy golf Code Golf試しに Square root を解いてみました。 import sys,math S=[] …

珠玉のプログラミングのお題を python で書いてみた : 2

#!/bin/env python """ 2.2 the binary search in everywhere(P13-15) Problem A finding the lack of integer """ import random # global ERROR = -1 max_num = 10 element_num = 9 max_digit = 8 def main(): # input data input_data = random.sample(xr…

珠玉のプログラミングのお題を python で書いてみた : 1

#!/bin/env python """ 1.4 The sketch of code(P6-7) That's a sort program using bitmap. """ import random def main(): # input data input_data = random.sample(xrange(0,99), 10) print "input : " + str(input_data) # initialize bitmap = [0 for …

Double Dispatch の実装

要件/目的: Double Dispatch のサンプルプログラムを書いてみる 自己アピール: プログラムのメンテナンス性を高める1つの手法 コメント: こんなんで良いのかな?何となく、ふと思い出したので実際に書いてみました。適当な題材がないかなと探してみたところ…

仕事がはかどりすぎて困る!どうにも素敵な文具術

会社の先輩から誕生日プレゼントとして頂きました。 文具好きの私にとっては、とても楽しく拝読させて頂きました。 ありがとうございますo(^ ^)o昔、ストレスのせいか、文房具屋さんで数千円(最高五千円ぐらい)程度、普通に買い物していた頃がありました。前…

PyGTK アプリケーションの拡張

Extending our PyGTK Application by Mark Mruss # 本稿は上記リンク元の和訳になります # 本稿はクリエイティブ・コモンズの帰属 - 非営利 - 同一条件許諾 2.5でライセンスされています # 転載ミス、誤訳等については適宜修正します このチュートリアルでは…

Glade3 におけるカスタム PyGTK ウィジット: パート2: カスタムアダプタ

Custom PyGTK Widgets in Glade3: Part 2: Custom widget adaptors by Ali Afshar # 本稿は上記リンク元の和訳になります # 本稿の規約・ライセンス等はオリジナルのそれに従います # 転載ミス、誤訳等については適宜修正します 前回の投稿ではカスタム glad…

Glade3 におけるカスタム PyGTK ウィジット

Custom PyGTK Widgets in Glade3 by Ali Afshar # 本稿は上記リンク元の和訳になります # 本稿の規約・ライセンス等はオリジナルのそれに従います # 転載ミス、誤訳等については適宜修正します gimp のようなマルチウィンドウビューを取り除いて、一般的なア…

プロフィール更新

id:kokorosha さんのプロフィールネタに影響受けた id:bonlife さんのブログを読んで、「とにかく書かなきゃ」的な衝動に駆られました。プロフィールを修正してみて、自分のことをいかに客観視できていないのかを自覚して愕然とした修正後のプロフィールです…

which コマンドの実装2

要件定義/目的: 環境変数 PATH からコマンドの絶対パスを取得する 自己アピール: なし(単なる意地) コメント: シェルスクリプトで書いた方がやっぱり簡単 環境変数 PATH からコマンドの絶対パスを取得する $ which_bash() { echo $PATH | awk 'BEGIN{RS=":"}…

which コマンドの実装

2008/04/10 追記: id:michisu:20080410#p1 で書き直してくれました(^ ^;; 2^8 ぐらい、そちらの方がきれいです。 こんな駄コードは見ず、そちらをご覧ください。要件定義/目的: 環境変数 PATH からコマンドの絶対パスを取得する 自己アピール: なし(単なる勉…

RPM ファイルからパッケージ名のみを取得

要求定義/目的: 複数バージョンが混在する、又はシェルのワイルドカード展開で取得できない大量(数千個)の RPM ファイルが置かれたディレクトリからユニークなパッケージ名のみを取得したい 自己アピール: rpm コマンドで個々に取得するよりパフォーマンスが…

リスト内包表記の基本

呼称: リスト内包表記 目的: コードの凝縮、簡潔化、map() 関数よりも応用性が高い 特徴: 条件判定ロジックを加えたリスト等の個々の要素に同じ操作を行える 用例: for ループの要素に if 文の条件を追加 備考: やり過ぎると、返ってコードが複雑化する サン…

map() 関数の基本

呼称: map() 関数 目的: コードの凝縮、簡潔化、パフォーマンス最適化 特徴: リスト等の個々の要素に同じ操作を行う、不足要素は自動的に None で補う 用例: for ループの代替、lambda 式との併用 備考: zip() 関数と類似(自動的に短い要素に揃える) サンプ…

lambda 式の基本

呼称: lambda 式 目的: コードの凝縮、簡潔化 特徴: 名前なし関数オブジェクト、あくまで「式」、無理に多用しない 用例: コールバック関数、ジャンプテーブル、関数の引数 備考: Lisp からの機能取り込み? サンプル: 凡例 >>> def greeting(): ... prefix …