Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Joe Fraddy en 24 Febrero 2015, 20:51 pm



Título: problema con variable e instancia
Publicado por: Joe Fraddy en 24 Febrero 2015, 20:51 pm
Este es mi código (python):

Código
  1. class Punto3D(object):
  2.    def __init__(self, x, y, z):
  3.        self.x=x
  4.        self.y=y
  5.        self.z=z
  6.  
  7.    def __repr__():
  8.        return "%d, %d, %d" % self.x, self.y, self.z
  9.  
  10. miPunto=Punto3D(1,2,3)
  11. print miPunto

La indicación es que fuera de la definición de clase, creá una variable que se llame miPunto que contenga una nueva instancia de Punto3D con x=1, y=2 y z=3.



Título: Re: problema con variable e instancia
Publicado por: Eleкtro en 25 Febrero 2015, 11:15 am
La sintaxis de este método era incorrecta tanto por el formato del string como por que el método no tomaba ningún parámetro, prueba así:

Código
  1.   def __repr__(self):
  2.       return "%d, %d, %d" % (self.x, self.y, self.z)

PD: Ya te dije anteriormente que si tienes alguna duda sobre algún error, DESCRIBE EL ERROR, que no somos adivinos.

Saludos


Título: Re: problema con variable e instancia
Publicado por: Joe Fraddy en 25 Febrero 2015, 16:47 pm
Si, esta bien.

Mira ya modifiqué mi script, pero el error que arroja es el mismo:

Código
  1. class Punto3D(object):
  2.    def __init__(self, x, y, z):
  3.        self.x=x
  4.        self.y=y
  5.        self.z=z
  6.  
  7.    def __repr__(self):
  8.        return "%d, %d, %d" % (self.x, self.y, self.z)
  9.  
  10. miPunto=Punto3D(1,2,3)
  11. print miPunto

El resultado es en la consola:

Código:
1, 2, 3
None

Pero todavía me dice:
El software de verificación:
Código:
No mostraste el punto 3D con el formato correcto

Y una cosa mas que acabo de ver en la ayuda es:

Código:
Cuando definas un nuevo __repr__(), retorná un valor de cadena que use las variables miembro de la clase para ver adecuadamente el punto 3D. Podés usar la función str() para ubicar estos números en la cadena apropiada.

Pero no se como se hace eso :-S


Título: Re: problema con variable e instancia
Publicado por: Joe Fraddy en 25 Febrero 2015, 18:15 pm
Disculpen por las molestias, el error era solo de formato:

retorne el valor así:

Código
  1. return "(%d, %d, %d)" % (self.x, self.y, self.z)

Y listo corrió como bueno en el software xD