中日サヨナラエラー ヤクルト中日2回戦

youtubeみっけ。 http://www.youtube.com/watch?v=BLp3mWSlVTY 投手、1塁手、3塁手がバント処理にダッシュ。 荒木は投球開始より早く3塁に走りだす しかし途中でランナーに抜かれる鈍足。 投球後、井端は何故か2塁前から1塁に走る。 谷繁は投手に1塁送球を指…

20世紀に、月始めである日曜日は何日あるか?

http://projecteuler.net/index.php?section=problems&id=19 問題。 20世紀に、月始めである日曜日は何日あるか? # -*- coding:utf-8 -*- import datetime sum = 0 for y in xrange(1901,2001): for m in xrange(1,13): if datetime.date(y, m ,1).weekday(…

iniファイルをpythonで読む。

ConfigParserというモジュールを使う。 http://www.python.jp/doc/2.5/lib/module-ConfigParser.html test.ini [GENERAL] dataType = A1 [METHOD] lstData=PutDatatest.py # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.RawConfigParse…

経路上の数字の和の最大値

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2018 本家がエラーってたので日本語訳のwikiから。 問題。 数字を山形に並べて山頂から麓まで降りるとき、経路上の数字の和は最大いくつか? 麓から辿っていくのが簡単に思えた。 下…

碁盤目状路の経路数探索

http://projecteuler.net/index.php?section=problems&id=15 誰もが一度は見たであろう問題。さすがに20*20を手計算で解いた経験はありません。 問題が簡単な分、コードに凝ってみる。再帰+キャッシュ # -*- coding:utf-8 -*- cache = {1:1} def chain(n): i…

ついでに

http://projecteuler.net/index.php?section=problems&id=13 問題。 50桁*100個の整数の総和の頭10桁を求めよ。 # -*- coding:utf-8 -*- s = """37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74…

三角数の約数の総数

http://projecteuler.net/index.php?section=problems&id=12 問題。 約数の総数が500を超える三角数で最小のものを求めよ。結構手こずった。力技のコードだと計算が終わらなかったので。 約数の総数の導出をいじったら大分現実的な速さになったので、これで…

最大公約数

def Gcd(a,b): return b and Gcd(b, a % b) or a

素数判別

def ChkPn(n): i = 2 while i*i <= n: if n%i == 0: return False i += 1 return True

清一色テンパイを調べるプログラム

作ってみた。シンプルに行こう行こうとしたら、結構キモイ。3時間ギリギリだったし。 # -*- coding:utf-8 -*- import sys mentul =['111', '222', '333', '444', '555', '666', '777', '888', '999', '123', '234', '345', '456', '567', '678', '789'] ans …

排他処理デコレータ

ついでに排他処理やってくれるデコレータも作った。 てか検索すると同じようなデコレータの例がたくさん。 Synchronized.py # -*- coding:utf-8 -*- from threading import Lock lock = Lock() def Synchronized(): def decorator(srcfunc): def dstfunc(*ar…

排他処理もやって見る

from threading import Thread, Semaphore, Lock import time semaphore = Semaphore(1) lock = Lock() 〜〜中略〜〜 def run(self): self.n = 1 while True: self.Pause() print self.name,self.n time.sleep(1) self.n += 1 def Pause(self): #semaphore.a…

threading.Threadを使うとスレッドが作れる

# -*- coding:utf-8 -*- from threading import Thread import time class threadtest(Thread): def __init__(self,name): Thread.__init__(self) self.setDaemon(True) self.name = name def run(self): self.n = 1 while True: print self.name,self.n tim…

日本原子力学会誌ATOMOΣ 3月号

ATOMOΣ Vol.53 201103号 日本原子力学会誌 なぜか今頃届いたATOMOΣ3月号のネタがタイムリーだったのでメモ。 http://www.aesj.or.jp/atomos/tachiyomi/mihon.html 目次 特集「原子力発電における耐震とは何か」 原子力安全・保安院の10年の歩み フェニックス…

スライスあれこれ

クックブックの最初の章にのってた文字列スライス まず基本 >>> string = "1234567890" >>> string[:] '1234567890' >>> string[:1] '1' >>> string[:5] '12345' >>> string[:-1] '123456789' >>> string[2:5] '345' >>> string[2:-3] '23456'次 >>> string[…

setdefault, get

>>> d = {1:"a",2:"b"} >>> print d.get(1) a >>> print d.get(3) None >>> print d.setdefault(2,"c") b >>> print d.setdefault(4,"d") d便利っぽい。

恐竜本

なんか新しいことを勉強したくなったので知り合いにおすすめを訊ねたところ、恐竜本を薦められた。amazonでペーパーバックが6千円強。値段は高いが厚みを勘定すると割安感がしないでもないかも。紙質も想像してたより綺麗だし。面白そうなので読んでみる。

メール送信

#! usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.MIMEText import MIMEText from email.Header import Header def editMail(): addrTo = raw_input("To:") subject = raw_input("Subject:") body = raw_input("Body:") return addr…

文字列置換に辞書を使う

>>> kenpo = {'1' : '天皇は、日本国の象徴であり日本国民統合の象徴であつて、この地位は、主権の存する日本国民の総意に基く。', '2':'皇位は、世襲のものであつて、国会の議決した皇室典範の定めるところにより、これを 継承する。'} >>> print kenpo["1"…

const参照の初期化

#include <iostream> using namespace std; int One(const int &ret){ cout <</iostream>

GAEで遊ぶ

といってもHelloWorld!を表示しただけだけど。自宅のWindowsにインストールしたのだが、dev_appserver.pyなどのコマンドを実行するにはあらかじめpython.exeに関連付けられてないといけない。 当然っちゃ当然だが、最初は何でエディタが立ち上がるのかわから…

Google Python スタイルガイドを読む

http://works.surgo.jp/translation/pyguide.html まだ途中までだけど。 以下知らなかったことその一。辞書・配列 >>> dict ={'a':1,'b':2,'c':3} >>> list = [1,2,3,4,5] >>> for key in dict: print key a c b >>> for value in dict: print value a c b >…

Python クラスあれこれ

>>> class TestClass: def Func1(self): print "TestClass.Func1" >>> ClassCopy = TestClass >>> ClassCopy().Func1() TestClass.Func1 >>> Instance = TestClass() >>> Instance.Func1() TestClass.Func1 >>> Instance2 = TestClass().Func1() TestClass.F…

pythonクラス名取得

>>> class TestClass: pass >>> a = TestClass() >>> a.__class__.__name__ 'TestClass' >>> a = TestClass >>> a.__name__ 'TestClass'

wx.Menubarあれこれ

def _init_menubar(self): """ メニューバーの初期化を行う """ self.menuBar = wx.MenuBar() # 1st menu from left menu1 = wx.Menu() menu1.Append(100, "&Open\tCTRL+O") menu1.AppendSeparator() menu1.Append(101, "&Save\tCTRL+S") menu1.Append(102, …