Como no tenia nada mejor que hacer, solo grabarme algunas formulas de estadística, decidí crear un código en Python para realizar esos tres cálculos (Promedio Varianza y Desviación estándar), solo introduciendo los números separándolos por una coma
El código es el siguiente:
Código
#!/usr/bin/env python # -*- coding: UTF-8 -*- ######Este es un "corto" programa para ######Calcular promedio; varianza y desviación estándar ###################################### def _promedio(): vcdda = cadenadedatos.get() vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista lista = eval(vforlis) #esto trasforma mi cadena en lista A = len(lista) suma=0 if A>1: for i in lista: suma += i p = ((suma+0.0)/(A+0.0)) vpp = Label(ventana, text="El promedio es de=\n"+str(p), justify=CENTER) vpp.grid(row=3, column=2,) else: tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar el promedio.\nIntrodusca más datos; gracias") ###################################### def _varianza(): vcdda = cadenadedatos.get() vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista lista = eval(vforlis) #esto trasforma mi cadena en lista lista2 = [] A = len(lista) suma=0 varis=0 if A>1: for i in lista: suma += i p = ((suma+0.0)/(A+0.0)) for j in range((A)): sumat = (lista[j]-p)**2 lista2.append(sumat) for k in lista2: varis += k vari = varis va = ((vari+0.0)/(A+0.0)) vp = Label(ventana, text="La varianza es de=\n"+str(va), justify=CENTER) vp.grid(row=4, column=2,) else: tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la varianza.\nIntrodusca más datos; gracias") ########################### def _desest(): vcdda = cadenadedatos.get() vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista lista = eval(vforlis) #esto trasforma mi cadena en lista lista2 = [] A = len(lista) suma=0 varis=0 if A>1: for i in lista: suma += i p = ((suma+0.0)/(A+0.0)) for j in range((A)): sumat = (lista[j]-p)**2 lista2.append(sumat) for k in lista2: varis += k vari = varis va = sqrt((vari+0.0)/(A+0.0)) vb = Label(ventana, text="La desviacion estandar es de=\n"+str(va), justify=CENTER) vb.grid(row=5, column=2,) else: tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la desviación estándar.\n introduzca más datos; gracias") #################### from math import* from Tkinter import* import tkMessageBox ventana = Tk() ventana.title("Cálculos estadísticos básicos") ####Definiendo algunas variables### cadenadedatos = StringVar() li = "Introduzca datos separándolos con una coma\nluego, pulse el botón del calculo a realizar\nGracias." oA="Promedio" oB="Varianza" oC="Desviación\nEstándar" #####Elementos de ventana#### ll = Label(ventana, text=li) eli = Entry(ventana, textvariable=cadenadedatos, xscrollcommand=5) b1 = Button(ventana, text=oA, command=_promedio) b2 = Button(ventana, text=oB, command=_varianza) b3 = Button(ventana, text=oC, command=_desest) #### Conlocandolos en la grilla###### ll.grid(row=0, column=1, columnspan=3) eli.grid(row=1, column=2) b1.grid(row=2, column=1) b2.grid(row=2, column=2) b3.grid(row=2, column=3) ventana.mainloop()
Y aquí unas vistas del programa:
Se aceptan sugerencias.