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

等値演算子

"=="は値が等しいとTrueを返す。 print 1 == 1 # True print "aaa" == "aaa" # True一般にオブジェクトはアドレスを比較する。 class C: def __init__(self, n): self.n = nprint C(1) == C(1) # Falseしかし、リストは要素を比較する。 print [ 1, 2, 3 ] =…

腹筋

どうも筋トレは苦手だが、やっぱりやらないといけないよね。 腹筋は割と定着していて、月水金の帰ったあとにやることにしている。本当は、腹筋は回復が早いので毎日やるのがいいらしいが、なかなかできないんだよね。腹筋運動、けっこうつらいし。腹筋は時間…

第24回2008名古屋シティマラソン(3)

ランネットから、サーバに負担をかけずにごっそりデータを取得する方法を思いついたので、きのうやってみた。その252人分のデータに自分のを加えて、「スタートラインまでの時間」と「ネットタイム」をグラフにしてみた。ちなみに、赤いのが私のデータ。さす…

第24回2008名古屋シティマラソン(2)

スルーするつもりだったが、ブログでやっぱりEブロックからで同じようなタイムの人を見かけたので、ちょっと書いてみる。 ハーフのエントリーが約3900人で、実際に走ったのは何人かまだわからないが、たぶん完走が2823人。 http://www.runnet.jp/result/deta…

第24回2008名古屋シティマラソン

1:34:17。自己ベスト5分短縮。 最初は暗澹たる思いで走っていたが、走りきってみれば思いがけないタイムが出た。 年間計画では、名古屋シティで36分、一色で35分。これを切れればサブ3.5も可能かなと思っていた。こうなると次は32分台を出さないと。 ウォー…

5km走

実は先週、若干体調を崩していてほとんど走れなかった。おととい昨日はそれを取り戻すために走ったが、まだのどが痛くて咳が出る。 今日は、2kmウォームアップ、明日と同じ時間にスタートして、レースペース、残り1kmは少しペースを上げる、1kmクールダウン…

ナンプレ(2)

今までの勉強をふまえて、前回のジェネレータをクラスで書く。 class perm: def __init__(self, l): self.l = l self.n = len(l) self.i = 0 if self.n > 1: self.perm = perm(l[1:]) def __iter__(self): return self def next(self): if self.n > 1: while…

ジェネレータ(2)

前回は無限に続くジェネレータを紹介したが、今回は打ち切るのを。 def count(n): i = 0 while i yield i i += 1for i in count(3): print i, 0 1 2ジェネレータが関数の最後まで行くと、StopIterationという例外を投げる。これは、次のコードで実証される。…

ジェネレータ(1)

順番が逆になったが、昨日使ったジェネレータの説明を。 def count(n): step = 1 while True: n += step yield nfor i in count(0): if i >= 10: break print i, 1 2 3 4 5 6 7 8 9関数の中にyieldというキーワードがあるとジェネレータになるらしい。yield…

ナンプレ(1)

数独とかナンプレとか言っているものをやっていると、自動で解きたくなる。あれは、いかに早く気づくかという話で、どうも苦手。 例えば、3つのまだ埋まっていないマスがあって、それぞれ、1と2、2と3、1と3が入る可能性があるとする。また、3つのマスには同…

きのうはあれからずっと体が重くて、夜になんとか5kmほど走ったが、すぐに眠くなって9時間も寝てしまった。やっぱり5kmをまじめに走るのはすごく疲れる。

5km走

5kmの自己ベストは、1月のかりやランナーズで出した21分2秒(自己計測)。なかなか5kmを走る機会がないが、そろそろ自己ベストを出しておきたい、10km42分台なので20:30くらいは出るだろう、と思って走ってみた。日曜に30km走って、長い距離は飽きたってのも…

第27回可児シティマラソン

やっぱり2/15か。出場できるかわからない。 ここは花フェスタ記念公園内で行われ、アップダウンが非常に非常に激しい。ただ、基本は上って下るので、気分的には楽。

名古屋シティマラソン参加証

Eブロックになった。 早く並ばないと。

アクセス時間が一定でない配列の2分探索(2)

アクセス時間が配列のインデックスに比例する場合に、次のインデックスの選び方を次のようにする。 half = int(start * (1 - s) + end * s); if half == start: half = start + 1;halfという識別子はちょっとおかしいが気にしない。このsが0.5なら単純な2分…

30kmLSD

この地方では、今日はフルマラソンの日のようだが、私にはまだフルを走りきる体力はないので、30kmを。別に日をあわせたわけじゃないけどね。 LSD(Long Slow Distance)というのは定義はよくわからないが、ゆっくり走ると自転車と同じで体がブレやすい、だ…

アクセス時間が一定でない配列の2分探索(1)

0〜1024までのラベルがついた箱が左から一列に並んでおり、それぞれの箱には0か1の数字が書かれたボールが一つずつ入っている。0の箱には0のボールが、1024の箱には1のボールが入っていて、右隣の箱のボールの数字は左隣の箱のボールの数字より必ず大きいか…

第29回篠山ABCマラソンエントリー

巷では、今日は東京マラソンの当落で悲喜こもごものようだが、私は今年に引き続いてこの大会で勝負しようと思う。あまり面白いコースではないけれど、日帰りできるのはコスト面で大きい。 予想タイムを3:28としておいた。これで自分にプレッシャーがかけられ…

多項式の零点(2)

零点が存在する円の半径Rに対して、複素平面上で原点を中心とした-RからRの正方形を考えて、それを縦横10分割した格子点から最急降下法で零点を求める。 これを、f(x) = 16-52x+48x2+68x3-30x4-39x5+7x6+4x7-10x8-2x9+6x10+x11-x12 に対して適用したところ、…

第27回半田市民マラソン 大会結果

まだランネットのほうのみ。 46位/181人かあ。

複素数

Pythonで複素数は次のように使う。 z = 1 + 1j print z * z # 2j虚数単位は「j」で表す。ただし、上のように単に「j」とは書けず、数値が前に必要。 各種関数はcmathモジュールにある。 from cmath import *z = 1j print sin(z) # 1.17520119364j実部と虚部…

多項式の零点(1)

f(x) = a0 + a1x + anxn の零点を探索する。 その前に、補題を考える。 f(x) = anxn - (a0 + ... + an-1xn-1) n ≧ 1 ai ≧ 0 an > 0 は、x > 0 で f(x) > 0 なら x < x' で f(x') > 0 xf'(x) = nanxn - (a1 + ... + (n-1)an-1xn-1) > (n-1)a1 + ... + an-1xn-…

第27回半田市民マラソン大会

あまりうまく走れなかった。力を出し切れなかった。 それにしても、こんなに厳しいコースだとは思わなかった。 電車で半田へ。途中、大府で乗り換え。そこで短パンを忘れたことに気がついた。何やってんだか。すぐに電車が来たのでそれに乗って家に戻ると、…