Python class Point3D

Résolu/Fermé
kamilion86 Messages postés 17 Date d'inscription samedi 1 janvier 2011 Statut Membre Dernière intervention 10 mars 2011 - 4 mars 2011 à 11:15
kamilion86 Messages postés 17 Date d'inscription samedi 1 janvier 2011 Statut Membre Dernière intervention 10 mars 2011 - 4 mars 2011 à 12:55
Bonjour,
j'ai un problème avec ce programme en Python, il ne calcule pas le milieu du point
voilà le code:
class Point3D:
def __init__(self, x=0, y=0, z=0):
self.x = x
self.y = y
self.z = z

def milieu(self, p):
dx= (self.x - p.x)/2
dy = (self.y - p.y)/2
dz = (self.z - p.z)/2
return Point3D(dx,dy,dz)

#main
p1=Point3D(1,2,3)
p2=Point3D(2,3,4)
p3=p1.milieu(p2)

il m'affiche: Point3D instance has no attribute 'milieu'
d'après le code je peux remarquer que le problème réside dans l'appel du constructeur dans la fonction milieu mais je ne sais pas comment le corriger
merci de me répondre



1 réponse

kamilion86 Messages postés 17 Date d'inscription samedi 1 janvier 2011 Statut Membre Dernière intervention 10 mars 2011 3
4 mars 2011 à 12:55
bon j'ai trouvé une autre solution pour éviter l'appel du constructeur dans la fonction
def milieu(self,p):
dx=(self.x-p.x)/2
dy=(self.y-p.y)/2
dz=(self.z-p.z)/2
return dx, dy, dz
#main
triple=p1.milieu(p2)
p=Point3D(tri[0],tri[1],tri[2])
elle ça marche bien
0