#!/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
zo = promedio(n, num)
z = convertir(a)
z = tablas(z)
comparacion(z, zo)
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 = 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)
zo = promedio(n, num)
z = convertir(a)
z = tablas(z)
comparacion(z, zo)
def aleatorio(a):
n = int(raw_input("Cuantos numeros aleatorios deseas generar: "))
num = []
for i in range(n):
num.append(float(random()))
print num
zo = promedio(n, num)
z = convertir(a)
z = tablas(z)
comparacion(z, zo)
def libreta(a):
print "Ejemplo de la libreta:"
num = ejemplo("ejemplo.txt")
print num
n = 10
zo = promedio(n, num)
z = convertir(a)
z = tablas(z)
comparacion(z, zo)
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 promedio(n, num):
sumatoria = 0
for i in range(n):
sumatoria = float(sumatoria + num[i])
print " "
print "Ex: ", sumatoria
print " "
x = float(sumatoria/n)
n = float(n)
print "Promedio:", x
print " "
print "Zo = |(x-1/2)SQRT(N)/SQRT(1/12)|"
print "Zo = |(",x,"-1/2) *","SQRT(",n,")/","SQRT/1/12)"
print "Zo = |(", x,"-1/2) *",math.sqrt(n)," / 0.28867 |"
zo = ((x-0.5) * (math.sqrt(n)))/0.28867
print "Zo: ", zo
if zo < 0:
zo = zo * -1.0
print "Zo: ", zo
return zo
def convertir(a):
z = 1 - (a * 0.01)
return z
def tablas(z):
wa = 1#int(raw_input("Deseas poner el valor de Za/2? \\nno = 0 |si = 1: "))
if wa == 1:
z = float(raw_input("Ingresa el estadistico de tabla: "))
else:
z = float(z/2)
print "Za/2 =", z
tabla = distribucion("dist_normal.txt")
for j in range(29):
for i in range(8):
if tabla[j][i] == z:
t = tabla[j][i]
x = float(i*0.01)
y = float(j * 0.1)
if tabla[j][i] > z and tabla[j][i-1] < z:
t = tabla[j][i-1]
x = float((i-1)*0.01)
y = float(j * 0.1)
if tabla[j][9] > z and tabla[j][8] < z:
t = tabla[j][8]
x = float(0.08)
y = float(j * 0.1)
if tabla[j-1][9] < z and tabla[j][i] > z:
t = tabla[j][8]
x = float(0.09)
y = float((j-1) * 0.1)
print "columna: ", x
print "fila: ", y
print "numero de tabla: ", t
z = x + y
print "Za/2 = ", x, " + ", y, " = ", z
return z
def comparacion(z, zo):
if z > zo:
print "Za/2 > Zo \\n", z, ">", zo, "\\nLos numeros son aceptados"
print "Hecho Por El Equipo #1"
else:
print "Za/2 < Zo \\n", z, "<", zo, "\\nLos numeros son rechazados"
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
print " ------- Promedio ------ Equipo 1 ------"
done = False
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()