# comp.py - gets data from file named by user # and calculates mean and standard deviation # cmc, 11/1/09 # getData - asks user for filename, then # reads data values from the file # returns list of values def getData(): filename = input("enter input file name --> ") dataFile = open(filename, "r") data = [] for line in dataFile: xString = line.split() x = float(xString[0]) data.append(x) dataFile.close() return data # meanAndStdev - calculates both mean and sample # standard deviation using computation formula # assumes data is a list of float values # returns mean and std. dev. as a tuple def meanAndStdev(data): n = len(data) # first find sum and sum of squares sumX = sumX2 = 0.0 for x in data: sumX = sumX + x sumX2 = sumX2 + x*x # apply formulas for mean and std. dev. mean = sumX / n numerator = n * sumX2 - sumX**2 variance = numerator / (n * (n-1)) import math stdev = math.sqrt(variance) return (mean, stdev) # main execution mean, stdev = meanAndStdev( getData() ) print("mean =", mean) print("standard deviation =", stdev)