2008-08-01から1ヶ月間の記事一覧
Rubyのチュートリアル『プログラミング入門 - Rubyを使って - 』9.クラスの『クラスを作る』あたりをPythonでやってみた クラスを作る import random class Die: def roll(self): return random.randint(1, 6) dice = [Die(), Die()] for d in dice: print d…
PEP 8 -- Style Guide for Python Code (和訳) クラス名はCapWordsにするとか。 class Hoge: pass
MacOSXで、例えばhoge.txtを状況に応じて異なるエディタで開きたい場合。 Finderでhoge.txtを選択 ランチャーのQuickSilverで使いたいエディタを呼び出す。 『option + commanmd + g』を押す。 returnを押す。 (゚Д゚)ウマー
修正:『マッチ箱の脳』人工知能ジェネテックアルゴリズムをPythonでやってみた - 牌語備忘録 - pygoの最後に乗せてた失敗版のコードをエントリーばらした。 『Rubyで書いてみた〜人工知能ジェネテックアルゴリズム - 牌語備忘録 - pygo』をやるときにPython…
マッチ箱の脳 WEB ver『ÙÚú§CgCV· - ªñÎêXìñÌâ`qñ』のマッチ箱で作るGAをPythonでやってみた。 人工知能の一つである「遺伝的アルゴリズム」 (以後、Genetic Algorithm=GAと呼ぶ) ÙÚú§CgCV· - ªñÎêXìñÌâ`…
大型書店でCの書籍を立ち読みして来た。候補を何点かにしぼっていたけど、候補に入っていないものだった(||゚Д゚) それはオライリーの『C実践プログラミング』 これが意外にも初心者にも優しい内容で解りやすかった。オイリー本は難しそうに見えるから敬遠して…
『C実践プログラミング』を参考にやってみた。 C earth_federation.c #include <stdio.h> int main() { char gundam; char *bright_command_ptr; gundam = 'A'; printf("Gundam pilot: %c\n", gundam); bright_command_ptr = &gundam; *bright_command_ptr = 'S'; pri</stdio.h>…
C言語を勉強するにあたりEmacsの設定やコンパイル・Maikefileなどやってみた。 Emacsの設定 参考サイト clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクション 行終了の";" と "return key" でオート改行+インデント、それから"C-c c…
これから入門するにあたって、決めておきたいC言語の書き方。 とりあえずどれでも動くのかもしれないけれども。 int main()なのかint main(void)か? main()と書いた場合、戻り値が省略されているので暗黙でintになります。 int main()、void main()、void m…
>>> hoge= [[1,2,3],[4,5,6],[7,8,9]] >>> zip(hoge) [([1, 2, 3],), ([4, 5, 6],), ([7, 8, 9],)] >>> zip(*hoge) [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
元は『http://www.python.jp/doc/release/tut/tut.html』の『4. その他の制御フローツール、 4.7.2 キーワード引数 ・4.7.4 引数リストのアンパック』から。 Python word01 = "Half of earth Federales fleet disappeared in space by my so lah lei now." w…
マッチ箱の脳 WEB ver『ÙÚú§CgCV· - ªñÎêXìñÌâ`qñ』のマッチ箱で作る初期の脳型人工知能モデル(Neural Network Model《以下NN》)#1/2・#2/2 をPythonでやってみた。 python マッチ箱の判断 == AIの判断とする。 連続して10回以上…
2004年から2008年8月現在までに出版された書籍で、大型書店にありそうなものをピックアップしてみた。Rubyはよくわかんないけど(´・ω・`)
http://www.python.jp/doc/release/tut/tut.htmlに 組み込み関数には、リストで使うと非常に便利なものが三つあります: filter() 、 map() 、reduce() です。 5.1.3 実用的なプログラミングツール とあったので試してみた 0から30までの3で割り切れる数をリ…
以前のエントリ『http://d.hatena.ne.jp/CortYuming/20080603/p1』をやり直してみた befor 前回のコードの引数を文字列から数値に変更。なぜ引数を文字列にしたのだろ? def bintodecnum(n, num = 2): s = str(n) slen = len(s) - 1 result = 0 for i in s: …
ブログのデザインを20pandaからflower-tree-birdに変更。CSSを少々いじってみた。 スタイルシートの勉強もしないと...(´・ω・`) 追記:コード表示部分の長い行が折り返されなくなった...(つдT)。
『Ruby - Wikipediaの例をPythonでやってみた−前半戦 - 牌語備忘録 - pygo』の続き Ruby - Wikipediaの例をPythonでやってみた−後半戦 クロージャ クロージャとなるようなブロックの引数渡し? def remember(proc): def block(name): return proc(name) retu…
訂正:再帰の上限を増やせることが判明 SICP的な再帰 Ruby - Wikipediaの例をPythonでやってみた−前半戦 - 牌語備忘録 - pygoで書いたコードと同じ a = [1,[2,[3,[4,[5,6],7],8],9],10] def flatten(seq): if not seq: return [] if isinstance(seq[0], list…
訂正:コードがクロージャではなかったので書き直してみた クロージャは、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。関数とそれを評価する環境のペアである…
『博士の愛した数式』がなかなか良かったので友愛数に引き続き、完全数もPythonでやってみた 完全数とは、その数自身を除く約数の和が、その数自身と等しい自然数のことである。例えば 6 (=1+2+3)、28 (=1+2+4+7+14) が完全数である。 完全数 - Wikipedia Py…
Ubuntu(ウブントゥ、国際音声記号[/ùbúntú/] (oo-BOON-too[4])) Ubuntu - Wikipedia 生粋のマカーだけど、ubuntuが気になる。 名前もデザインもいいなぁ。
『続・辞書のキーと値を入れ替えをPythonでやってみたの速度を計測してみた - 牌語備忘録 - pygo』の続き 『辞書のキーと値を入れ替える(2) - プログラミング日記』さんの情報からizip最強説を検証。 import timeit t= timeit.Timer(setup="dict_data = {1: …
『lists.ruby-lang.org Mailing Lists』をPythonでやってみた 正規表現を試してみるちょっとしたプログラム #正規表現を試してみるちょっとしたプログラム regx.py import re while 1: try: str = raw_input("str> ") except: break try: pat = raw_input("p…
今更乍ら映画『博士の愛した数式』がなかなか良かったので、友愛数をPythonでやってみた 友愛数とは、異なる2つの自然数の自分自身を除いた約数の和が、互いに他方と等しくなるような数をいう。親和数とも呼ばれる。一番小さな友愛数の組は(220, 284)である…
Ruby - Wikipediaの例をPythonでやってみた−前半戦 例(Python) 基本的なコード abs(-199) # 199 len("python is hot") # 13 "Dick".index("c") # 2 "".join(sorted(set(list("Nice Day Isn't It?")))) # " '?DINaceinsty" コレクション 配列の作成と使用法…
#辞書のキーと値を入れ替えるスクリプト dict_data = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'} #A-1 def d_change_a(d): di = {} for k in d: di[d[k]] = k return dict(di) print d_change_a(dict_data) #A-2 def d_change_a2(d): for k in d: d[d.pop(k)…
『辞書のキーと値を入れ替えをPythonでやってみた - 牌語備忘録 - pygo』の続き。速さをまったく考えてなかった(´・ω・`)ので、最近おぼえたてのtimeitモジュールを使って計測してみた。 import timeit t= timeit.Timer(setup="dict_data = {1: 'a', 2: 'b', 3…
『Rubyでどう書く?:連続した数列を範囲形式にまとめたい - builder by ZDNet Japan』をPythonでやってみた。 スペースで区切った数値の文字列を連続している場合のみハイフンで繋ぐ。例:"1 2 3 5 7 8" が "1-3, 5, 7-8." に。(仕様の詳細はリンク先で) …
特にLispの小さく純粋な方言であるSchemeを学ぶといい。 バベル案内 以上の基準により、はじめてのプログラミング言語として私がお勧めするのは、Python か Scheme である。 Teach Yourself Programming in Ten Years 日本語訳 LISP は、それをモノにしたと…
デア・オバサンジョの「ソフトウェアプロジェクト失敗の10の兆候」 最初のバージョンであまりに多くのことをやろうとする。 確立されていないテクノロジーに大きく依存している。 稼ぎ頭だったり強力な後ろ盾を持っていたりする別な社内プロジェクトと競合して…