# Program to compute the mean and variance of some numbers # (user enters number of numbers, then numbers) # Matt Bishop, COSMOS 2012, Cluster 4 # compute the mean and variancen of the numbers # parameter: listnum, a list of numbers def stats(listnum): # initialize sum sum = 0 # add each number in list to sum for i in listnum: sum += i # get average avg = sum / len(listnum) # now get the sum of the squares of the differences vartop = 0.0 for i in listnum: vartop += (i - avg) ** 2 # now, the actual variance var = vartop / len(listnum) return avg, var # read a list of numbers and print the mean and variance # calls: function mean, stdev def main(): # prompt for count of numbers to be entered try: n = int(input("How many numbers do you want to add? ")) except: print("Please enter an integer") return # error check if n < 0: print("Please enter a positive integer") return # if n is 0, there is nothing to do if n == 0: print("The mean and variance of your numbers are 0") return # we have some numbers to add -- do it! # initialize list variable numbers = [] # ask user for next number and # append each number to the list i = 1 while i <= n: prompt = "Enter number %d: " % i try: k = int(input(prompt)) except: print("Oops . . . that's not an integer . . . try again") else: numbers = numbers + [ k ] i += 1 # print the statistics mean, variance = stats(numbers) # print the standard deviation print("The mean of your numbers is", mean, "and the variance is", variance) main()