Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2015, 21:45
Avatar de CarMoreno
CarMoreno
 
Fecha de Ingreso: marzo-2015
Ubicación: Valle del Cauca
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Alcance de una variable de instancia en Python

Hola amigos, antes que nada decirles que soy nuevo en Python y pues no se si sea un error de novato, lo que pasa es que he definido un arreglo llamado FO y este no se me actualiza conforme yo hago operaciones en distintas partes de mi programa, Hago operaciones con el, pero cuando lo llamo luego, estas peraciones no se ven reflejadas, la verdad no se en que estoy mal, pues también he creado un arreglo llamado números, y este si lo puedo usar en cualquier parte de mi código tan solo haciendo self.numeros, no sé en que estoy fallando, he perdido bastante tiempo y espero me puedan ayudar, de ante mano muchísimas gracias, acá mi código:

Código Python:
Ver original
  1. def __init__(self, parent = None):
  2.         self.numeros = [] #Definimos un array donde se guardaran los aleatorios generados
  3.         self.FO = [] #ESTA VARIABLE NO FUNCIONA BIEN
  4. def frecuenciasObtenidas(self):
  5.         contador1 = 0
  6.         contador2 = 0
  7.         contador3 = 0
  8.         contador4 = 0
  9.         contador5 = 0
  10.         contador6 = 0
  11.         contador7 = 0
  12.         contador8 = 0
  13.         contador9 = 0
  14.         contador10 = 0
  15.  
  16.         for i in self.numeros: #SI ME RECONOCE LA VARIABLE numeros
  17.             i = i/10000.0 #Esto es para que caigan en el rango estipulado
  18.             if i >= 0 and i < 0.1:
  19.                 contador1 += 1
  20.             if i >= 0.1 and i < 0.2:
  21.                 contador2 += 1
  22.             if i >= 0.2 and i < 0.3:
  23.                 contador3 += 1
  24.             if i >= 0.3 and i < 0.4:
  25.                 contador4 += 1
  26.             if i >= 0.4 and i < 0.5:
  27.                 contador5 += 1
  28.             if i >= 0.5 and i < 0.6:
  29.                 contador6 += 1
  30.             if i >= 0.6 and i < 0.7:
  31.                 contador7 += 1
  32.             if i >= 0.7 and i < 0.8:
  33.                 contador8 += 1
  34.             if i >= 0.8 and i < 0.9:
  35.                 contador9 += 1
  36.             if i >= 0.9 and i < 1:
  37.                 contador10 += 1
  38.        
  39.         self.FO.append(contador1)#LLENO FO con valores
  40.         self.FO.append(contador2)
  41.         self.FO.append(contador3)
  42.         self.FO.append(contador4)
  43.         self.FO.append(contador5)
  44.         self.FO.append(contador6)
  45.         self.FO.append(contador7)
  46.         self.FO.append(contador8)
  47.         self.FO.append(contador9)
  48.         self.FO.append(contador10)
  49.         print "VECTOR DE FRECUENCIAS", self.FO #
  50.                                        
  51.     # -------------------------------------Pruebas de uniformidad-------------------------------------
  52.     def chiCuadrado(self):
  53.         FE = [100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
  54.         for i in FE:
  55.             i = str(i)
  56.             for j in xrange(0, 11):
  57.                 self.ui.tablaUniformidad.setItem(j, 2, QtGui.QTableWidgetItem(i))
  58.        
  59.         print "soy el vector de frecuencias obtenidas", self.FO #NO SE POR QUE ME RETORNA VACIO, SI YA LO LLENE


cuando imprimo self.FO me retorna vacio, no deberia de ser asi, puesto que ya le he insertado datos.