開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-7.を解いてみる。
12.7(練習問題)、12-7.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def average(sequence):
result = 0
for x in sequence:
result += x
return result / len(sequence)
# 空のリストを追加
test_cases = [[None, []],
[0.0, [0.0]],
[0.0, [-1.0, 1.0]],
[1.0, [0.0, 2.0]],
[2.0, [0.0, 1.0, 2.0, 3.0, 4.0]]]
# 例外発生回数もカウント
passes = failures = exception = 0
for expected, values in test_cases:
try:
actual = average(values)
if actual == expected:
passes += 1
else:
failures += 1
except Exception as err:
exception += 1
print(err)
print('合格: {0}'.format(passes))
print('不合格: {0}'.format(failures))
print('例外: {0}'.format(exception))
入出力結果(Terminal)
$ ./sample.py division by zero 合格: 4 不合格: 0 例外: 1 $
0 コメント:
コメントを投稿