Thursday 15 March 2012

python !!

どうもねー,なんか,ブロック組み合わせる感じで,
すぐ実用的な動きをさせられそうな python  さん.
ところで,この python という名前は Monty Python's Flying Circus から来ているのであって,
へびとは関係ないらしい(そしてそれゆえ Monty Python についての話を交えるのは奨励されるらしい)けど,
それを理解した上で「へび」みたいな愛称で呼ばれたりするのはどうなんだろうか.
いや,どうなんだろうかっていうのはその,本家の人からしてどうなんだろう,みたいな.

 最近考えてるのは, i) HTML の表, i)-a)中でもラテン語の活用表とか, ii) TeX の表
などを,いちいち, <table> とか <td> とか(HTML なら), \begin{table} とか & とか(TeX),
そういうのを打たずに,内容をシターンシターンと打ち込んでいって,しかるべき形にして返してくれるようなもの.

取り敢えずコアとして使えそうなものはできてて,これは
行数,列数を最初に指定して,シターンシターンと打ち込んでいって,
current directry 内の指定されたファイル(なければ新規に作り,あれば改行して次の行から)に書き込む
というもの.この時,行内での区切りはタブコード,列の区切りは改行コードを挟む.
まださらさらっと書いただけやし,そもそも推奨されない使い方をしててなんとなく動いてるだけ,
というのもあるかも知れない(LaTeX で改行に \\ を使うような感じで).
まあ,許してくださいな.
 
columns = input("the number of columns?");
rows = input("the number of rows?");
table_contents =[];
for j in range(rows):
    table_contents.append([]);
    print("INPUT THE ROW", j+1);
    for i in range(columns):
        table_contents[j].append(raw_input(""));          
filename = raw_input("INPUT THE FILENAME (INCLUDING EXTENSION)");
print table_contents;
fla = file(filename,"a");
flr = file(filename,"r");
if(flr.read() != ""):
    fla.write("\n");
for j in range(rows):
    for i in range(columns):
        fla.writelines(table_contents[j][i]);
        fla.write("\t");
    fla.write("\n");
fla.close()
 
これの, \t とか \n のところを,別の変数に収めた文字列を使うようにして,
それを変更できるようにすると汎用性が高まる.
多分別の module を作って,そこに↑の変数を入れておいて,
そこに順次書きこむようにしたらいいよね.
最初に,「変数に書き込む」「モード変える」「表作る」みたいな分岐を作って,
そこからそれぞれ動くようにすると最初に起動したらモード変えながら使える感じになる.

No comments:

Post a Comment