牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

2008-06-01から1ヶ月間の記事一覧

SICP 1.3.3 Procedures as General MethodsをPythonでやってみた

SICPの1.3.3 Procedures as General MethodsあたりをPythonでやってみた 1.3.3 Procedures as General Methods (一般的なメソッドの手順) Finding roots of equations by the half-interval method (平均化した半分間隔メソッドのルートを探し出す) sche…

SICP 第1章の要点を簡単にまとめてみた 〜『プログラムは魔法と似ている』〜

Chapter 1 Building Abstractions with Procedures (抽象化を構築するやり方) The programs we use to conjure processes are like a sorcerer's spells. http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-9.html#%_chap_1 (一連の処理を呼び出すプ…

プログラミング言語の(常時使用する or 好きな or 勘弁してほしい)ランキングをPtyhonでやってみた。

2ちゃんねるのLinux板の『Linuxerが好きなプログラミング言語教えれゴルァ』スレで行われてたアンケートをPythonで集計してみた(あくまでもこれくらい?な感じで)[スクリプト&集計結果を修正] 質問は3つ。 1. 常時使用する言語 2. 1とは別に好きな言…

Pythonでリストの文字列をmap()とlambdaを使って文字コードを変換してみた

#!/usr/bin/env python # *-# -*- coding: utf-8 -*- utf8_str_li = ["あいうえお","かきくけこ"] sjis_str_li = [unicode(s, "utf8").encode("sjis") for s in utf8_str_li] print "「sjis文字列」(文字化けするはず)" print "\n".join(sjis_str_li) sjis…

噂のanything.elの凄さがわからなかったので、とりあえず使ってみたら物凄く便利で驚いた

anything.elがよいらしいとの記事を とあるブログで見つけて、Googleで調べてみたらわりと噂になってるらしい。 http://www.emacswiki.org/cgi-bin/wiki/Anythingとかで説明読んでもよく解らないので、とりあえず使ってみることにした。 とりあえず使ってみ…

SICP 1.3.2 Constructing Procedures Using LambdaをPythonでやってみた

SICPの1.3.2 Constructing Procedures Using LambdaあたりをPythonでやってみた scheme (define (square x)(* x x)) ;a (define (f x y) (define (f-helper a b) (+ (* x (square a)) (* y b) (* a b))) (f-helper (+ 1 (* x y)) (- 1 y))) (f 1 4) ;4 ;b (d…

SICPの練習問題 1.16をPythonでやってみた

SICPの練習問題 1.16をPythonでやってみた (schemeの解答はこちら:http://oss.timedia.co.jp/index.cgi/kahua-web/show/SICP/Answer%20Book) Exercise 1.16. Design a procedure that evolves an iterative exponentiation process that uses successive …

SICP 1.2.4 ExponentiationをPythonでやってみた

SICPの1.2.4 ExponentiationあたりをPythonでやってみた scheme (define (expt b n) (if (= n 0) 1 (* b (expt b (- n 1))))) (expt 2 4) ;16 ;iterative (define (expt b n) (expt-iter b n 1)) (define (expt-iter b counter product) (if (= counter 0) p…

急に将棋のアルゴリズムに興味湧いたからPythonでやってみた その1

駒の動かし方くらいしか知らないけど、急に将棋のアルゴリズムに興味湧いたのでPythonでやってみることにした。ググったら「うさぴょん 〜将棋を革命する力を〜」に将棋プログラムの作り方という丁度良いサイトがあったから、これで勉強してみる。 元が初め…

SICPの練習問題 1.12をPythonでやってみた

SICPの練習問題 1.12をPythonでやってみた (schemeの解答はこちら:http://oss.timedia.co.jp/index.cgi/kahua-web/show/SICP/Answer%20Book) Exercise 1.12. The following pattern of numbers is called Pascal's triangle (練習問題 1.12 パスカルの三…

SICPの練習問題 1.11をPythonでやってみた

SICPの練習問題 1.11をPythonでやってみた (schemeの解答はこちら:http://oss.timedia.co.jp/index.cgi/kahua-web/show/SICP/Answer%20Book) Exercise 1.11. A function f is defined by the rule that f(n) = n if n= 3. Write a procedure that compute…

SICP 1.2.2 Tree Recursion の Example: Counting change を Python でやってみた

SICP 1.2.2 Tree RecursionのCounting change を Python でやってみた def count_change(amount): return cc(amount, 5) def cc(amount, kinds_of_coins): if amount == 0: return 1 elif amount < 0 or kinds_of_coins == 0: return 0 return cc(amount, ki…

SICPでやっぱり反復を理解できてなかったのでプロセスを視覚化してみた

SICPで反復が理解できてなかったので、有名なお二人のブログでの例を利用してプロセスを視覚化してみた 参考サイト 関数型言語の勉強にSICPを読もう - (7) 1章 - 反復をマスターしたいけど・・・ - Higepon’s blog 404 Blog Not Found:Recursion vs. Iterati…

開発のプロが教える 標準Django完全解説デタ━━━━(゚∀゚)━━━━ッ!!

昨日発売だった。 519ページ、¥4,410とけっこうなボリューム。 早く読みたい(・∀・) 仕事やめたい(つдT)

SICP 1.2.2 Tree Recursion の木構造再帰プロセスの図にreturnをいれてみた

1.2.2 Tree Recursionの Figure 1.5: The tree-recursive process generated in computing (fib 5).(図 1.5: 計算で生成された木構造再帰プロセス(fib5)) の図を自分的にわかりやすいようreturn(RETN)を追加してみた。 *1一応schemeのコードとプロセス(前…

SICP 1.2.2 Tree Recursion を Pythonでやってみた

SICP 1.2.2 Tree Recursion (木階層再帰?)のFigure 1.5のあたりを Pythonでやってみた 視覚的にプロセスがわかるよう、有名どころのここを参考にtraceを使ってみた。(slibはMacportsで簡単にインスコロールできた) Pythonでtraceみたいのできないのかな…

SICP 1.1.8 ブラックボックス抽象化の手続きの平方根の例をPythonでやってみた

Structure and Interpretation of Computer Programs sec_1.1.8 #1.1.8 Procedures as Black-Box Abstractions(ブラックボックス抽象化の手続き) #Internal definitions and block structure(内在的な定義とブロック構造) #平方根の例 def square(x): re…

SICP 1.2.1 再帰と反復の練習問題1.9をPythonでやってみた

SICP 1.2 Procedures and the Processes They Generate(手続きと生成プロセス) ## 1.2.1 Linear Recursion and Iteration(線形の再帰と反復) # 図 1.3:再帰の例 def factorial(n): if n == 1: return 1 return n * factorial(n - 1) print factorial(6) …

Firefox3でツールバーの表示がおかしい件

Firefox3が正式リリースされたので、早速インスコして使用したらツールバーの表示がおかしい。 ナビゲーションツールバー、ブックマークツールバーともに。 (MacOSX 10.4, Power Mac G5)RSSフィードのあるページを見たりしてから、ツールバーまわりをクリ…

SICP Exercise 1.8. ニュートン法による立方根(三乗根)をPythonでやってみた

Exercise 1.8. Newton's method for cube roots is based on the fact that if y is an approximation to the cube root of x, then a better approximation is given by the value (練習 1.8 ニュートン法において立方根は、yがxの立方根の近似値だとした…

SICP 1.1.7 例:ニュートン法による平方根をPythonでやってみた

#1.1.7 Example: Square Roots by Newton's Method #(1.1.7 例:ニュートン法による平方根) def square(x): return x * x def sqrt_iter (guess, x): if good_enough(guess, x): return guess else: return sqrt_iter(improve(guess,x), x) def improve(gues…

SICPのExercise 1.3.をPythonでやってみた

SICP(和訳:計算機プログラムの構造と解釈)の1.1.6 Conditional Expressions and PredicatesのExercise 1.3.をPythonでやってみた (元はschemeの例題) #Exercise 1.3.Define a procedure that takes three numbers as arguments and returns the sum of …

SICPを読んでいたら練習問題を試したくなったのでGaucheをインストールしてみたらエラーでた

macport でGaucheをインストールしようとしたらエラーがでたりしたのでメモ。 (会社のmacはすんなり入ったのに自宅のiBookではだめだった。なぜかしらん)とりあえあず以下のようなエラーがでた。 sudo port install gauche : ---> Fetching gdbm ---> Atte…

Plone本が

デタ━━━━(゚∀゚)━━━━ッ!!

『プログラマの数学』第6章 再帰のタートルグラフィックスをPythonでやってみた

Pythonに丁度良くタートルグラフィックスのモジュール『turtle』が標準で入ってるから『プログラマの数学』の第6章 再帰にでてきたタートルグラフィックスをpythonでやってみた。 #!/usr/bin/env python # *-# -*- coding: utf-8 -*- from turtle import* de…

入門言語に最適なのはPython、次に学ぶべきなのはLisp?

あのNetscapeのオープンソース化にあたって多大なる影響を与えたエリック・レイモンド氏の書いたHow To Become A Hacker(和訳:ハッカーになろう)の中で、『コンピュータ言語の入門言語として最適』なものとして"Python"を進めていて、『二番目』に"Java"…

Carbon Emacs の IPython で補完

Carbon Emacs のM-x shellで起動したIPythonの補完がきかね(´・ω・`)ショボーン とか思ってたら、M-x termだとできた(・∀・) termってEmacs上で動くTerminal emulatorなのかしらん? ansi-termだと複数起動できるらしい。 In [1]: import random In [2]: random. #…

ふとEmacs Lispの勉強したくなった

web site Elisp入門 優しい Emacs-Lisp 講座もくじ GNU Emacs Lispリファレンスマニュアル: book

MacのUS配列キーボードでカナ・英数キーを使えるようにしてみた

少々わかりやすく書き換えてみた US配列キーボードの利点 キーの配列が使いやすい(個人的には右手小指まわりのキーあたり) カナ・英数キーがないので見た目すっきり。 かな入力しないのでキーのひらがな必要ない。 command + ` でウインドウ切り替えできる…

『プログラマの数学』第1章 ゼロの物語の2進数を10進数にする例をPythonでやってみた

一昨日購入した『プログラマの数学』がなかなか面白いので、2進数の文字列を10進数の数値にするスクリプトをpythonで書いてみた(10進数の文字列を10進数の数値にも) #!/usr/bin/env python # *-# -*- coding: utf-8 -*- def bintodecnum(s, num = 2): slen…