2013年12月20日金曜日

開発環境

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

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

コード(BBEdit)

sample.py

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

import math
import random

def findLast(filename, string):
    ''' string(文字)を含む最後の行番号とその行を要素とするリストを返す関数'''
    line_no = 0
    line_no_and_line = [None, None]
    with open(filename, 'r') as f:    
        for line in f:
            line_no += 1
            if string in line:
                line_no_and_line = [line_no, line]
    return line_no_and_line
            
def standartDeviation(values):
    total = 0
    for value in values:
        total += value
    average = total / len(values)
    total = 0
    for value in values:
        total += (value - average) ** 2
    variance = total / len(values)
    return math.sqrt(variance)

nums = [random.random() * 100 for x in range(10)]
    
if __name__ == '__main__':
    print(findLast('sample.py', 'line'))
    print(nums)
    print(standartDeviation(nums))

入出力結果(Terminal)

$ ./sample.py
[32, "    print(findLast('sample.py', 'line'))\n"]
[25.027902959214398, 48.814388580093635, 84.25682263973266, 23.620561221992663, 93.9059936117611, 50.18904423801666, 75.15865618136074, 58.445998232745836, 33.44656180534673, 37.98105468396461]
23.344803687027426
$

0 コメント:

コメントを投稿