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

ソニーからの挑戦状をPythonで解いてみた

Sony Japan | 採用情報|新卒採用|GO FOR IT~情熱と技術が世界を変える~の真似をして、Pythonで書こうと思います。以下で作るCubeクラスの仕様はPyQt4/PySideのQtCore.QRectと同様にしたかったのですが、QtCore.QRectは >>> QtCore.QPoint(0, 0) in QtCor…

CoffeeScriptをPythonからコンパイルするためのモジュールを作った

Rubyのcoffee-scriptモジュールをパクって参考にして,Python用のCoffeeScriptモジュールを作ってみました。http://pypi.python.org/pypi/CoffeeScript/1.0.0 内部では、先日作ったPyExecJSを呼び出しているので、自前でJavaScriptエンジンをインストールしな…

みんなのPython を3.xで勉強するためのTips

みんなのPython Webアプリ編がPDFで無料公開されていますが、この本はPython 2.x向けに書かれているので、3.xではそのまま動かない点がチラホラ・・・とりあえずChapter04を読んでみたところ、以下のような変更が必要です。 CGIHTTPServer -> http.server 3.…

エイトクイーン問題を解いた

wikipedia:エイト・クイーン問題 #!python3 #encoding:mbcs from itertools import ( combinations, permutations, product, ) def main(): board_size = 10 n = 0 for y_values in permutations(range(board_size), board_size): queens = set((x, y) for x…

RubyのExecJSをPythonに移植しました

ExecJSはRubyからJavaScriptのコードを実行できるライブラリです。ExecJSは、もしrubyracerなどJavaScriptライブラリがあればそれを利用し、さもなくばコンピュータからNode.jsなどのインタープリタを検索してきます。JScriptも使えるため、自前でV8をビルド…

Pythonスクリプトから管理者権限が必要なコマンドを実行する

Windows 7(多分Vistaも)で、Pythonからregeditなどの管理者権限が必要なコマンドを os.systemやos.popen subprocess.Popen/call/check_callをshell=Trueで呼び出した場合は, 自動的にUACのプロンプトが表示されます。 >>> subprocess.check_call("regedit", …

整数・ローマ数字変換(Python版)

http://d.hatena.ne.jp/fumokmm/20110822/1314013182アラビア数字 ローマ数字変換を行う関数、arabicToRoman および romanToArabic を実装せよ。条件) ・ローマ数字の表記法についてはローマ数字 - Wikipediaを参考にすること。 ・ローマ数字は半角英「I,V,…

Pythonを始める人への日本語情報集

@mopemopeさんからバトンを渡されました、2011 Pythonアドベントカレンダー(Python3) 16日目担当のおもけん(@doloopwhile)です。 Q「RubyとPythonどちらが初心者向けでしょうか?」 A「Pythonは日本語情報が少ないので、Rubyがおすすめです」 質問掲示板な…

\PythonとRubyのdefって何が違ふんです?/

Pythonのdefは関数、Rubyのdefはメソッドを定義します。両者の違いはdefがネストすると現れます。Pythonでは、ネストしたdefではローカル関数が定義されます。ローカル関数はその場で使われるだけで、外部には影響は及ぼしません(グローバル変数に代入した…

Windows 7のLaTeXでの、Beamerのエラーと修正法

detected driver: dvipdfm ! Undefined control sequence. \Gm@lmargin ->\Geom@lmargin というエラーが出ます.解決法としては, http://www.ctan.org/tex-archive/macros/latex/contrib/beamer/base/#jhdabed98cbe464232887bf7e2f520adddからbeamerbasecompa…

PIL無しでアニメGIFを作るPythonモジュールを作った

PythonでアニメGIFを作るには, BoxHeadRoom » Blog Archive » PythonでアニメGIF作成 その1のようなコードがあり, これはPILを使っています.しかし, これのためだけにだけにPILをimportしたくはないし,PILは画像のLZW圧縮の部分にしか使われていません. そ…

rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ を見て思い出しましたが、Python 3.3からWindows 向け Python ランチャーが入るそうです.現在でもhttps://bitbucket.org/vinay.sajip/pylauncher/downloadsからダウンロードできます.スクリプ…

PythonでFibBuzz

Codnote.net ScalaでFibBuzz - ( ꒪⌓꒪) ゆるよろ日記FizzBuzzは時代遅れらしいので、ニューウェーブに乗るべく、Pythonで解いてみましたまず、普通の回答 from itertools import islice def fizzbuzz(x): if x % 15 == 0: return "fizzbuzz" elif x % 3 == …

Dropboxで設定ファイルを同期する時は仮想ドライブを使おう

Dropbox便利ですね!(流行に3年ぐらい遅れた発言) どうしてサクラエディタの話に? 私はWindowsでは、JavaScriptやPythonのコード、LaTexのコード、ブログの内容、日記、等々・・・ テキスト編集には全てwikipedia:サクラエディタを使っています。という…

Androidでプレイリストを使う

WindowsのFoobar2000でプレイリストを使っているとき、 AndroidのWinampでも同じプレイリストを使うためのメモ。ちなみにWindowsとAndroidの両方でWinampを使っている場合、Winamp自体でプレイリストをコピーできるので、こんな苦労する必要はありません。 A…

素集合データ構造

元ネタ: http://con-leche.blogspot.com/2010/03/google-devfest-2010.html参考: http://www.kmonos.net/wlog/88.html http://d.hatena.ne.jp/rubyco/20080719/equiv wikipedia:素集合データ構造 素集合データ構造(Union-Find)は、要素を同値類(素集合…

コッホ曲線

コッホ曲線を描いてみました <html> <body> <canvas id="koch" height=600px width=800px></canvas> <script> window.onload = function() { var canvas = document.getElementById("koch"); var ctx = canvas.getContext("2d"); function drawKoch(stack, x, y, s, L) { if(L <= 1) { ctx.moveTo(x, y); ctx.lineTo(x + L*Math.cos(s),</body></html>…

2,30分プログラミング

後輩が「素因数分解をするプログラムを書け」という課題で困っていたので、最終的に役立ったのかどうかは分りません。片手間だったし、後輩も本気ではなかったようなので、コメントはサボりました。 #include <stdio.h> struct Factor { int p; int n; struct Factor </stdio.h>…

bufferって何ですか?

PySide.QtGui.QImage.ScanLineが、bufferオブジェクトを返しました。 PyQt4ではsip.voidptrが返されましたが、よりPythonicにということで、変更されたのでしょう。 bufferというのは見慣れないので、Python 2.6.2の日本語ヘルプで検索してみると・・・ C で…

__name__を変更してもエラーは変わらない

デコレータを作るときなど、返り値の関数の.__name__ を設定する事をするわけですが(functools.wrapsでも__name__を変更している)、エラー時には意味がないという話 def some_fn(x): pass some_fn.__name__ = "a good name" f = some_fn f() # Traceback (mo…

pyreadlineをpython3.2で使う

pyreadlineはpython3xに未だ対応していないので、try&errorで適当に弄ってみました。相対importを明示的に書くべき所とか、bytesであるべき所がstrになっている所とか。pyreadline 1.5用patch当て方 $> cd C:\python32\Lib\site-packages\pyreadline $> patc…

今までどのくらいプログラミング言語を触ってきたか

就職活動(新卒)で、「学生時代にがんばったこと(1000字)」の作文課題が出たのですが、 私が書ける事はプログラミングぐらいしかありません。とりあえず、今まで、遊んだ言語やライブラリなどを書き出してみます。(『勉強した』言語というと、全部趣…

PySide 1.0 がリリース

PySideの正式版がリリースされたようです。 PySide: Python for Qt 1.0 released!The PySide team is thrilled to announce the release of PySide: Python for Qt version 1.0.0. In addition to the source code release, project community packagers hav…

PySideとPyQtの差異

を勝手に翻訳したものです。 APIの差異 importする名前の違い(PyQt4の代わりにPySide) PySideはライブラリ名がPyQtと違います。 from PyQt4.QtCore import * や、 import PyQt4.QtCore と書く代わりに、次のように書いてください。 from PySide.QtCore imp…

Pythonによるデザインパターン(目次)

これは『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)をPythonに翻訳してみようというシリーズです。Rubyによるデザインパターン作者: Russ Olsen,ラス・オルセン,小林健一,菅野裕,吉野雅人,山岸夢人,小島努出版社/メー…

PySide・PyQt4関係の翻訳

QtのプロパティをPySideで使う - None is None is None PySideとPyQtの差異 - None is None is None

QtのプロパティをPySideで使う

Using Qt Properties in PySideを翻訳。PySide は Property 関数を提供しており、 Pythonで書かれたgetter・setter関数を使って、 QtのプロパティとしてもPythonのプロパティとしてもふるまうようなプロパティを、 定義することが出来ます。以下は、Qtのプロ…

キューとスレッド

A〜Gの文字を10個づつ表示するという処理が、7スレッドで並行して実行されます。 スレッド数の上限を例えば4として、A〜Dの並行処理が終わってからE〜Gが処理されるようにするにはどのように記述すればよいのでしょうか? [mixi]Python | 初心者質問トピック…

パソコン欲しい!

MacBook Air 11インチ欲しい! まぁ、タダでもらえるっていうんなら、誰だって欲しいですよね?今あるPCが5年目の古女房なのです。肺が弱くて、1年に1度はファンが故障します。 でも、金がかかる2号さんのxperiaを身請けしてしまったので、買おうにも買え…

PySideにおけるシグナルとスロット

Signals_and_Slots_in_PySide | Qt Wiki | Qt Projectを勝手に翻訳したものです。 翻訳の誤りは保障しません(きっと誤りがあります)。 このページでは、PySideでのシグナルとスロットの使用法について説明します。 ここで主に説明するのは、新スタイルのシ…