開発環境
- Mac OS X Snow Leopard (OS)
- WingIDE
- Script言語: Python
『初めてのコンピュータサイエンス』(Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-463-7)の8章(ファイルの処理), 8.8(練習問題), 2を解いてみる。
2.
コード
def read_weather_data(r): fields=( ((4,int),(2,int),(2,int)), ((2,int),(2,int),(2,int)), ((2,int),(2,int),(2,int)), ((6,float),(6,float),(6,float)) ) result=[] for line in r: start=0 record=[] for i in fields: result_1=[] for (width,target_type) in i: text=line[start:start+width] field=target_type(text) result_1.append(field) start+=width record.append(result_1) result.append(record) return result
用意したファイル
python_sample_8_3
入出力結果(Python Shell)
プログラムで、各レコードをタプルのタプルに変換す関数の方が使いやすい理由は、各レコードの各値(日付、緯度、軽度、データ)にインデックスを指定することで、レコードから順に数えることなく一発でアクセスできること。
Python、まだ慣れないせいか、他の言語に比べて一問解くための学習時間が長い。。
0 コメント:
コメントを投稿