毛のはえたようなもの

インターネット的なものをつらつらとかきつらねる。

Python

id:hayamizがMinipythonのコードをUPしたらしい

mini-pythonをCodeReposにて公開しました /lang/cplusplus/minipy/trunk – CodeRepos::Share – Trac汚い部分など整えてから公開しようかと思っていたのですが、公開のリクエストなどがあったのでとりあえず公開してから考えることにしました。簡単なREADMEな…

Minipythonベンチ結果ー2

先日のうんじょりな結果から大体一週間。 とりあえずテストが一つ終わり、週末になったのでMinipythonをいじることに。 …バグのでる場所が変わっている。コビトサンスゴイナー(・∀・)!!*1ちょこちょこと評価器の虫取りをしたのちベンチ。 ぉぉ、すごいな。St…

Python処理系発表会

発表資料 Google Slides - create and edit presentations online, for free. ご覧になられると分かりますが,ほとんどid:hayamizのおつくりになられたVMの話ばかりです。 高速化についてのヒントがあるので興味あるかたはどうぞ。というか、こんなブログみる…

Pythonのサブセット処理系

Pythonを縮小したPython処理系を作る演習。できる男として巷で有名なid:hayamizuとペアプログラミングしております。当方C++をこの処理系を作ることで覚えました。初心者ばんざーいヾ(・∀・)ノシパーサまでは本当に隣にならんで理論的な補佐をid:hayamizuにし…

範囲に収まる数字の数(Pythonの場合)

#! /user/local/bin/python num = [] chohuku =0 for line in open ('../data_d.txt','r'): if line == 0: break else: num.append(int(line)) width = num.pop(0); num.sort(lambda x, y: y-x) maxTimes =0 for i in range(len(num)-1): target = 0 for j i…

相異なる文の種類の数(Pythonの場合)

#! /user/local/bin/python import string num = [] chohuku =0 for line in open ('../data_c.txt','r'): if line == 0: break else: num.append(line) num.sort(lambda x, y: cmp(string.lower(x), string.lower(y))) for i in range(len(num)-1): if num[…

重複する数字を表示(Pythonの場合)

#! /user/local/bin/python // 昇順に並べる def compare_int(a,b): return b - a num=[] // ファイルからの入力 for line in open ('../data_a.txt','r'): if line == 0: break else: num.append(int(line)) // ソート num.sort(compare_int) // 同じものが…

k番目に大きい数(Pythonの場合)

#! /user/local/bin/python def compare_int(a,b): return b - a flag=0 number=[0] for line in open ('../data_d.txt','r'): if flag==0: line.split(" ") n = int(line[0]) k= int(line[2]) flag = 1 else: if int(line)!=0: number.append(int(line)) nu…

右側折り返し(Pythonの場合)

#! /user/local/bin/python maxlength = 72 text="" def insert_sp(i,text,line): if i!=0 and (i)%maxlength ==0: text = text + "\n" if line[i] == "\n": print text else: text = text + line[i] insert_sp(i+1,text,line) for line in open('../data_c.…

精度を要する割り算(Pythonの場合)

#!/usr/bin/env python import sys for line in open ('../data_b.txt','r'): item = line.split(' ') if float(item[0])!=0 and float(item[1])!=0: print float(item[0])/float(item[1])

標準入力から一行づつ読み込み最大値を表示(Pythonの場合)

#! /user/local/bin/python first=0 for line in open('../data_a.txt','r'): num = int(line) if first !=1 or max < num: max = num first =1 print max