開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の9章(集合と辞書)、9.5(練習問題)、13.を解いてみる。
9.5(練習問題)、13.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import sys def countBirds(filenames): count = {} for filename in filenames: with open(filename, 'r') as infile: for line in infile: name = line.strip() count[name] = count.get(name, 0) + 1 return count def getFreq(count): freq = {} for (name, times) in count.items(): if times in freq: freq[times].append(name) else: freq[times] = [name] return freq if __name__ == '__main__': filenames = sys.argv[1:] count = countBirds(filenames) freq = getFreq(count) for key in sorted(freq): print(key) for name in freq[key]: print(' {0}'.format(name))
入出力結果(Terminal)
$ cat bird1.txt b c d e f b c d e b c d b c b $ cat bird2.txt a b c d e a b c d a b c a b a $ ./sample.py bird1.txt bir2.txt 1 f 3 e 5 a d 7 c 9 b $
0 コメント:
コメントを投稿