document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/usr/bin/python
  2. from random import *
  3. import math
  4. import os, sys
  5.  
  6.  
  7. def manual(a):
  8.     n = int(raw_input("Cantidad de numeros a ingresar: "))
  9.     num = []
  10.     for i in range(n):
  11.         num.append(float(raw_input("")))
  12.         print num
  13.     zo = promedio(n, num)
  14.     z = convertir(a)
  15.     z = tablas(z)
  16.     comparacion(z, zo)
  17.  
  18. def tabla(a):
  19.     columna = int(raw_input("De que columna se tomaran los numeros: ")) -1
  20.     fila1 = int(raw_input("En que parrafo empieza a tomar los numeros: ")) -1
  21.     fila2 = int(raw_input("En que parrafo termina de tomar los numeros: "))
  22.     if fila1 >= 2:
  23.         fila1 = fila1*5
  24.     if fila2 >= 2:
  25.         fila2 = fila2*5
  26.     matrix = cargar("aleatorio.txt")        
  27.     num = []
  28.     for fila in range(fila1,fila2):
  29.         num.append(matrix[fila][columna])
  30.     print num
  31.     n = len(num)
  32.     zo = promedio(n, num)
  33.     z = convertir(a)
  34.     z = tablas(z)
  35.     comparacion(z, zo)
  36.  
  37.  
  38. def aleatorio(a):
  39.     n = int(raw_input("Cuantos numeros aleatorios deseas generar: "))
  40.     num  = []
  41.     for i in range(n):
  42.         num.append(float(random()))
  43.     print num
  44.     zo = promedio(n, num)
  45.     z = convertir(a)
  46.     z = tablas(z)
  47.     comparacion(z, zo)
  48.  
  49. def libreta(a):
  50.     print "Ejemplo de la libreta:"
  51.     num = ejemplo("ejemplo.txt")
  52.     print num
  53.     n = 10
  54.     zo = promedio(n, num)
  55.     z = convertir(a)
  56.     z = tablas(z)
  57.     comparacion(z, zo)
  58.  
  59. def cargar(file):
  60.     fl = open(file, "r")
  61.     matrix = []
  62.     for i in  fl:
  63.         temp = []
  64.         i = i.split()
  65.         for j in i:
  66.             temp.append(float(j))
  67.         matrix.append(temp)
  68.     fl.close()
  69.     return matrix
  70.  
  71. def ejemplo(file):
  72.     fl = open(file, "r")
  73.     num = []
  74.     for i in fl:
  75.         i = i.split()
  76.         for j in i:
  77.             j = float(j)
  78.         num.append(j)
  79.     fl.close()
  80.     return num
  81.  
  82. def promedio(n, num):
  83.     sumatoria = 0
  84.     for i in range(n):
  85.         sumatoria = float(sumatoria + num[i])
  86.     print " "
  87.     print "Ex: ", sumatoria
  88.     print " "
  89.     x = float(sumatoria/n)
  90.     n = float(n)
  91.    
  92.     print "Promedio:", x
  93.     print "  "
  94.     print "Zo = |(x-1/2)SQRT(N)/SQRT(1/12)|"
  95.     print "Zo = |(",x,"-1/2) *","SQRT(",n,")/","SQRT/1/12)"
  96.     print "Zo = |(", x,"-1/2) *",math.sqrt(n)," / 0.28867 |"
  97.     zo = ((x-0.5) * (math.sqrt(n)))/0.28867
  98.     print "Zo: ", zo
  99.     if zo < 0:
  100.         zo = zo * -1.0
  101.         print "Zo: ", zo
  102.    
  103.     return zo
  104.  
  105. def convertir(a):
  106.     z = 1 - (a * 0.01)
  107.     return z
  108.  
  109. def tablas(z):
  110.     wa = 1#int(raw_input("Deseas poner el valor de Za/2? \\nno = 0 |si = 1: "))
  111.     if wa == 1:
  112.         z = float(raw_input("Ingresa el estadistico de tabla: "))
  113.     else:
  114.         z = float(z/2)
  115.         print "Za/2 =", z
  116.         tabla = distribucion("dist_normal.txt")
  117.         for j in range(29):
  118.             for i in range(8):
  119.                 if tabla[j][i] == z:
  120.                     t = tabla[j][i]
  121.                     x = float(i*0.01)
  122.                     y = float(j * 0.1)
  123.                
  124.                 if tabla[j][i] > z and tabla[j][i-1] < z:
  125.                     t = tabla[j][i-1]
  126.                     x = float((i-1)*0.01)
  127.                     y = float(j * 0.1)
  128.  
  129.                 if tabla[j][9] > z and tabla[j][8] < z:
  130.                     t = tabla[j][8]
  131.                     x = float(0.08)
  132.                     y = float(j * 0.1)
  133.  
  134.                 if tabla[j-1][9] < z and tabla[j][i] > z:
  135.                     t = tabla[j][8]
  136.                     x = float(0.09)
  137.                     y = float((j-1) * 0.1)
  138.  
  139.         print "columna: ", x
  140.         print "fila: ", y
  141.         print "numero de tabla: ", t
  142.         z =  x + y
  143.         print "Za/2 = ", x, " + ", y, " = ", z
  144.    
  145.     return z
  146.  
  147. def comparacion(z, zo):
  148.     if z > zo:
  149.         print "Za/2 > Zo \\n", z, ">", zo, "\\nLos numeros son aceptados"
  150.     print "Hecho Por El Equipo #1"
  151.     else:
  152.         print "Za/2 < Zo \\n", z, "<", zo, "\\nLos numeros son rechazados"
  153.     print "Hecho Por El Equipo #1"
  154.     sys.exit()
  155.  
  156. def distribucion(file):
  157.     fl = open(file, "r")
  158.     tabla = []
  159.     for i in  fl:
  160.         tabl = []
  161.         i = i.split()
  162.         for j in i:
  163.             tabl.append(float(j))
  164.         tabla.append(tabl)
  165.     fl.close()
  166.     return tabla
  167.  
  168. def main():
  169.     os.system("clear") # OJO clear es comando de linux en windows seria cls
  170.     print "    ------- Promedio ------ Equipo 1 ------"
  171.     done = False
  172.     while done == False:
  173.         try:
  174.             a = int(val)
  175.         except:
  176.             a = int(raw_input("Cual sera el valor de alfa: "))
  177.         #try:
  178.         #    numeros = int(val)
  179.         #except:
  180.         #    numeros = int(raw_input("Agregar los numeros manualmente = 0 \\nAgregar los numeros segun la tabla = 1 \\nGenerar los numeros aleatoriamente = 2 \\nIngrese un numero: "))
  181.     numeros = 2
  182.        
  183.         if numeros == 0:
  184.             manual(a)
  185.         elif numeros == 1:
  186.             tabla(a)
  187.         elif numeros == 2:
  188.             aleatorio(a)
  189.         else:
  190.             libreta(a)
  191.    
  192. main()
');