Python class Point3D

Résolu
kamilion86 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
kamilion86 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   3
 
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