開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
Head First Python (Paul Barry(著)、 O'Reilly Media )のChapter 6(Custom data Objects: Bundling code with data)、CODE MAGNETS(p.175)を解いてみる。
CODE MAGNETS(p.175)
コード(BBEdit)
sample175.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- def sanitize(time_string): if '-' in time_string: spliter = '-' elif ':' in time_string: spliter = ':' else: return time_string (mins, secs) = time_string.split(spliter) return mins + '.' + secs def getCoachData(filename): try: with open(filename) as f: data = f.readline() return data.strip().split(',') except IOError as ioerr: print('File error: {0}'.format(ioerr)) return None sarah = getCoachData('sarah2.txt') (sarah_name, sarah_dob) = sarah.pop(0), sarah.pop(0) print("{0}'s fastest times are: {1}".format( sarah_name, sorted(set(sanitize(t) for t in sarah))[:3]))
入出力結果(Terminal)
$ ./sample175.py Sarah Sweeney's fastest times are: ['2.18', '2.21', '2.22'] $
0 コメント:
コメントを投稿