開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の8章(ファイル処理)、8.8(練習問題)、4.を解いてみる。
8.8(練習問題)、4.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8
import sys
import re
def skip_header(r):
line = r.readline()
line = r.readline()
while line.startswith('#'):
line = r.readline()
return line
def read_smallest_skip(r):
line = skip_header(r).strip()
if not line:
return 0
while not re.match(r'^\d+$', line):
line = r.readline()
line = line.strip()
if not line:
return 0
smallest = int(line)
for line in r:
line = line.strip()
if re.match(r'\d+$', line):
value = int(line)
if value < smallest:
smallest = value
return smallest
if __name__ == '__main__':
with open(sys.argv[1], 'r') as f:
print(read_smallest_skip(f))
入出力結果(Terminal)
$ cat hopedale.txt
Coloured fox fur production, HOPEDALE, Labrador, 1834-1842
#Source: C. Elton (1942) "Voles, Mice and lemmings", Oxford Univ. Press
#Table 17, p.265--266
-
22
-
29
-
-
2
16
12
35
8
83
166
-
$ ./sample.py hopedale.txt
2
$
0 コメント:
コメントを投稿