2013年12月13日金曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg 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 コメント:

コメントを投稿