2010-03-01から1ヶ月間の記事一覧

Haskellでポン! (2)

第2回は面接試験を潜り抜けるために、FizzBuzzを書きます。 {- fizzbuzz.hs -} fizzbuzz_nth :: Integer -> String fizzbuzz_nth x | mod x 15 == 0 = "FizzBuzz" | mod x 3 == 0 = "Fizz" | mod x 5 == 0 = "Buzz" | otherwise = show x fizzbuzz = map fi…

Haskellでポン! (1)

研究室の先輩に、「Haskellに興味があるが、誰か勉強しないか」と言われたので、 制作中のソフトそっちのけでHaskellでPongを作ってみます。Pongと言うのは原始の卓球ゲームです。名前を間違ってるかもしれません。 Pongを作るのは出入力が必須な気がするの…

str.format用の文字列から、正規表現を作る。

#encoding:shift-jis u""" str.format用の文字列から、format後の文字列にマッチする正規表現を作ります。 仕様:末尾まで完全に一致させます。 format後の文字列の末尾に余計な物がついていると、マッチしません。 仕様:str.formatのパラメータには数値の…

from ... import * で困ること

#egg.py from spam import Spam class Egg:pass #spam.py from egg import Egg class Spam:pass > python spam.py Traceback (most recent call last): ImportError: cannot import name Egg 解決法その1:import ... を使って、spam.Spamでアクセスする解…

try 〜 except 〜 except

いまさらながら、Pythonでexceptを複数書けるのに気がつきました。 自分で書くことも、他人のコードに複数のexceptが書いてあるのを見る機会も無かったもので。 try: #例外を投げる何か int("***") {}[0] except KeyError as e: print(repr(e)) except Value…

PIL.Image と PyQt4.QtGui.QImageの相互変換

下手なことをするより、素直に一度バッファに書き込むのが一番安全。 なお、***.save(fp, "BMP")と、"BMP"で読み書きしていますが、 アルファブレンドがある画像の場合は"PNG"で読み書きする必要があります。 ただ、"BMP"の方が速いです。 def pilimage_to_q…