2013年12月19日木曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-15.を解いてみる。

12.7(練習問題)、12-15.

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

def computeReciprocals(values):
    reciprocals = []
    for value in values:
        try:
            # valueが0の時にZeroDivisionErrorが発生する
            reciprocals.append(1 / value)
        except Exception as err:
            print(type(err))
            reciprocals.append(None)
    return reciprocals

if __name__ == '__main__':
    values = [0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 0]
    print(values)
    print(computeReciprocals(values))

入出力結果(Terminal)

$ ./sample.py
[0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 0]
<class 'ZeroDivisionError'>
<class 'ZeroDivisionError'>
<class 'ZeroDivisionError'>
[None, 1.0, 0.5, 0.3333333333333333, 0.25, 0.2, None, 0.14285714285714285, 0.125, 0.1111111111111111, 0.1, None]
$

0 コメント:

コメントを投稿