Este es mi código (python):
class Punto3D(object):
def __init__(self, x, y, z):
self.x=x
self.y=y
self.z=z
def __repr__():
return "%d, %d, %d" % self.x, self.y, self.z
miPunto=Punto3D(1,2,3)
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.
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í:
def __repr__(self):
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
Si, esta bien.
Mira ya modifiqué mi script, pero el error que arroja es el mismo:
class Punto3D(object):
def __init__(self, x, y, z):
self.x=x
self.y=y
self.z=z
def __repr__(self):
return "%d, %d, %d" % (self.x, self.y, self.z)
miPunto=Punto3D(1,2,3)
print miPunto
El resultado es en la consola:
1, 2, 3
None
Pero todavía me dice:
El software de verificación: No mostraste el punto 3D con el formato correcto
Y una cosa mas que acabo de ver en la ayuda es:
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
Disculpen por las molestias, el error era solo de formato:
retorne el valor así:
return "(%d, %d, %d)" % (self.x, self.y, self.z)
Y listo corrió como bueno en el software xD