2011年7月5日火曜日

開発環境

  • 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(練習問題), 5を解いてみる。

 

5.

コード

import sys
from tsdl import skip_header

def skip_header(r):
    line=r.readline()
    line=r.readline()
    while line.startwith("#"):
        line=r.readline()
    return line

def smallest_value_skip(r):
    line=skip_header(r).strp()
    if line=="-":
        return 0
    smallest=int(line)
    for line in r:
        line=line.strip()
        if line =="-":
            continue
        value=int(line)
        if value>=smallest:
            continue
        smallest=value
    return smallest
if __name__=="__main__":
    input_file=open(sys.argv[1],"r")
    print smallest_value_skip(input_file)
    input_file.close()

今日は、前問のコードのforループ内でcontinue文と使うように書き換えるだけだったので、久々に1問をすぐ解き終わる!

個人的にはcontinue文を使ったほうが、if文のインデントが少なくなる分だけ見やすい気もするけど、慣れてきたらまた変わるかも。大切なことは一貫性!

0 コメント:

コメントを投稿