#!/usr/bin/env python#coding: Latin-1#quuim - HxCimport os, sysfrom math import sqrtdef main(): print "CALCULADORA ESTADÍSTICA UNIDIMENSIONAL\n\n\n\n" variables = [] # Se crea una lista donde se guardarán las xi frecuencias = [] # Se crea una lista donde se guardarán las fi while True: # Mientras el usuario no escriba "listo" se irán añadiendo los valores introducidos a la lista "variables" anadir = raw_input("Introduce las variables (x), de menor a mayor, cuando estén todas introducidas introduce 'listo': ") if anadir != "listo": variables.append(anadir) else: break while True: # Mientras el usuario no escriba "listo" se irán añadiendo los valores introducidos a la lista "frecuencias" anadir = raw_input("Introduce las frecuencias (fi), cuando estén todas introducidas introduce 'listo': ") if anadir != "listo": frecuencias.append(anadir) else: break os.system("clear") print "xi", " - ".join(variables) print "fi", " - ".join(frecuencias) for i in range(0, len(variables)): variables[i] = float(variables[i]) for i in range(0, len(frecuencias)): frecuencias[i] = float(frecuencias[i]) # Calcular frecuencia acumulada (Fi) Fi = [] a = 0 for i in frecuencias: Fi.append(str(int(a + i))) a = a + i print "Fi", " - ".join(Fi), "\n\n" calculos(variables, frecuencias) def calculos(xi,fi): longitud_x = len(xi) # Se calcula la cantidad de datos en la lista longitud_f = len(fi) if longitud_x == longitud_f: #-------------------------------------------------------------------------------------------- #CALCULAR PROMEDIO #-------------------------------------------------------------------------------------------- N = 0 for i in fi: # Se suman todos los valores de la lista para saber el número total de datos N = N + i acum = [] for num in range(0, longitud_x): # Se crea una lista (acom) que contiene todos los xi * fi acum.append(xi[num] * fi[num]) promedio = 0 for num in acum: # Se suman los datos que contiene la lista acom promedio = promedio + num promedio = promedio / N # Se calcula el promedio (suma xi * fi)/ número de datos print "El promedio es", promedio, "\n" #-------------------------------------------------------------------------------------------- #CALCULAR CUARTILES #-------------------------------------------------------------------------------------------- posQ1 = N / 4.0 if posQ1 - int(posQ1) != 0: print "El primer cuartil está ubicado en la posición", int(posQ1) + 1 else: print "El primer cuartil está ubicado en la posición", posQ1, "y", posQ1 + 1 posQ2 = posQ1 * 2 if posQ2 - int(posQ2) != 0: print "El segundo cuartil (también dicho mediana) está ubicado en la posición", int(posQ2) + 1 else: print "El segundo cuartil (también dicho mediana) está ubicado en la posición", posQ2, "y", posQ2 + 1 posQ3 = posQ1 * 3 if posQ3 - int(posQ3) != 0: print "El tercer cuartil está ubicado en la posición", int(posQ3) + 1, "\n" else: print "El tercer cuartil está ubicado en la posición", posQ3, "y", posQ3 + 1, "\n" #-------------------------------------------------------------------------------------------- #CALCULAR VARIANZA (sigma al cuadrado) #-------------------------------------------------------------------------------------------- acum = [] for i in xi: # Guarda los cuadrados de las variables en la lista acum acum.append(i ** 2) acum_1 = [] for i in range(0,longitud_x): acum_1.append(acum[i] * fi[i]) SumaCuadrados = 0 for num in acum_1: # Se suman los datos que contiene la lista acum_1 SumaCuadrados = SumaCuadrados + num varianza = (SumaCuadrados / N) - promedio ** 2 # Se calcula la varianza print "La varianza (sigma al cuadrado) es", varianza, "\n" #-------------------------------------------------------------------------------------------- #CALCULAR DESVIACIÓN TÍPICA (sigma) #-------------------------------------------------------------------------------------------- sigma = sqrt(varianza) print "La desviación típica (sigma) es", sigma, "\n" #-------------------------------------------------------------------------------------------- #CALCULAR CUOFICIENTE DE VARIACIÓN DE PEARSON #-------------------------------------------------------------------------------------------- pearson = (sigma / promedio) * 100 print "El cuoficiente de variación de Pearson es", pearson, "%" else: print "Has introducido un número de datos distintos de variables y frecuencias, por favor, vuelve a introducir los datos" raw_input() os.system("clear") main()main()
que buena calculadora he de decirte que yo solo he hecho una que hace las 4 operaciones basicas jaja pero esta es toda una obra desde mi punto de vista jaja haber si algun dia la necesitare ... dime tu para que la usas