# importiamo il modulo math # che contiene varie funzioni matematiche # che possiamo utilizzare tra cui la radice quadrata # math.sqrt(x)=pow(x,0.5) import math def average(x): ''' average(x) x is a vector ''' d=len(x) av=0 for e in x: av = av + e av = float(av) / d return av def sig2(x,av=None): ''' sig2(x,av=None) x is a vector ''' d=len(x) if not av : av = average(x) s2=0 for e in x: dev = e - av s2 = s2 + dev*dev if d > 1 : s2 = float(s2) / (d - 1) return s2 # in python esiste la variabile ambiente __name__ # essa indica il nome dell'oggetto in esecuzione # il primo modulo lanciato ha settato il valore # di __name__ uguale a '__main__'. Se quindi # scriviamo un file con il codice seguente # esso sara` eseguito soltanto se lanciato # direttamente. Mentre non lo sara` se importanto # in un altro modulo. if __name__ == '__main__': numdata=input('number of data = ') if numdata <= 0 : print " not enough data ! ", numdata else: i = 0 x=[] while i < numdata : d=input('give me a value = ') x.append(d) i =i+1 av=average(x) s2=sig2(x,av) print "data",x print "average = ",av, "standard deviation =", math.sqrt(s2)