#!/usr/bin/python
from random import *
import math
import os, sys
def manual(a):
n = int(raw_input("Cantidad de numeros a ingresar: "))
num = []
for i in range(n):
num.append(float(raw_input("")))
print num
num.sort()
print "Ordenados:\\n", num
Dn = hacer_tabla(n, num)
d = tablas(n, a)
comparacion(d,a,Dn,n)
def tabla(a):
columna = int(raw_input("De que columna se tomaran los numeros: ")) -1
fila1 = int(raw_input("En que parrafo empieza a tomar los numeros: ")) -1
fila2 = int(raw_input("En que parrafo termina de tomar los numeros: "))
if fila1 == 2:
fila1 = 6
if fila1 > 2:
fila1 = fila1*5
if fila2 >= 2:
fila2 = fila2*5
matrix = cargar("aleatorio.txt")
num = []
for fila in range(fila1,fila2):
num.append(matrix[fila][columna])
print num
n = len(num)
num.sort()
print "Ordenados:\\n", num
Dn = hacer_tabla(n, num)
d = tablas(n, a)
comparacion(d,a,Dn,n)
def aleatorio(a):
n = int(raw_input("Cuantos numeros aleatorios deseas generar: "))
num = []
for i in range(n):
num.append(float(round(random(),5)))
print num
num.sort()
print " "
print "Ordenados:\\n", num
print " "
Dn = hacer_tabla(n, num)
d = tablas(n, a)
comparacion(d,a,Dn,n)
def libreta(a):
print "Ejemplo de la libreta:"
num = ejemplo("ejemplo.txt")
print num
n = len(num)
print "n: ", n
a = 10
num.sort()
print "Ordenados:\\n", num
Dn = hacer_tabla(n, num)
d = tablas(n, a)
comparacion(d,a,Dn,n)
def hacer_tabla(n, num):
print "| i | xi | F(xi)=i/n | F(xi)-xi"
Dn = []
for i in range(n):
ii = float(i)
Fxi = float((ii+1)/n)
dn = abs(Fxi-num[i])
print "|",i+1, " | ",num[i], " | ",Fxi, " | ", Fxi,"-",num[i],"=",dn
Dn.insert(i, dn)
Dn.sort()
print "El numero mayor es: ", Dn[n-1]
return Dn
def cargar(file):
fl = open(file, "r")
matrix = []
for i in fl:
temp = []
i = i.split()
for j in i:
temp.append(float(j))
matrix.append(temp)
fl.close()
return matrix
def ejemplo(file):
fl = open(file, "r")
num = []
for i in fl:
i = i.split()
for j in i:
j = float(j)
num.append(j)
fl.close()
return num
def tablas(a, n):
d = 1 #(raw_input("Escribe 1 Para continuar: "))
if d == 1:
d = float(raw_input("Ingresa el numero del Estadistico de Tablas: "))
else:
tabla = distribucion("muestras.txt")
if a == 10:
for j in range(30):
for i in range(4):
if tabla[j][i] == a:
d = tabla[j][1]
if a == 5:
for j in range(30):
for i in range(4):
if tabla[j][i] == a:
d = tabla[j][2]
if a == 1:
for j in range(30):
for i in range(4):
if tabla[j][i] == a:
d = tabla[j][3]
return d
def comparacion(d,a,Dn,n):
b = 100 - a
print " "
print "Z a/2 =", 100,"-",a,"= ",b
print "Z",b,"%","/",2
b = float(b/100.0)
b = float(b/2.0)
print "Z",b,"= ",d
if Dn[n-1] > d:
print " "
print "Comparacion"
print Dn[n-1], ">", d
print "Los numeros son rechazados"
print "Hecho por el equipo #1"
if Dn[n-1] < d:
print " "
print "Comparacion"
print Dn[n-1], "<", d
print "Los numeros son aceptados"
print "Hecho por el equipo #1"
sys.exit()
def distribucion(file):
fl = open(file, "r")
tabla = []
for i in fl:
tabl = []
i = i.split()
for j in i:
tabl.append(float(j))
tabla.append(tabl)
fl.close()
return tabla
def main():
os.system("clear") # OJO clear es comando de linux en windows seria cls
done = False
print " ------- Kolmogorov ------ Equipo 1 ------"
while done == False:
try:
a = int(val)
except:
a = int(raw_input("Cual sera el valor de alfa: "))
#try:
# numeros = int(val)
#except:
# numeros = int(raw_input("Agregar los numeros manualmente = 0 \\nAgregar los numeros segun la tabla = 1 \\nGenerar los numeros aleatoriamente = 2 \\nIngrese un numero: "))
numeros = 2
if numeros == 0:
manual(a)
elif numeros == 1:
tabla(a)
elif numeros == 2:
aleatorio(a)
else:
libreta(a)
main()