Classe point from math import sqrt
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
def show(self):
return self.x, self.y
def move(self, x, y):
self.x += x
self.y += y
def dist(self, pt):
dx = pt.x - self.x
dy = pt.y - self.y
return math.sqrt(dx ** 2 + dy ** 2)
p1 = Point(2, 3)
p2 = Point(3, 3)
print(p1.show()) # (2, 3)
print(p2.show()) # (3, 3)
p1.move(10, -10)
print(p1.show()) # (12, -7)
print(p1.dist(p2)) #
13.45362404707371
Classe vecteur
et ses méthodes
Surcharge de
l’opérateur -
Surcharge de
l’opérateur ==
from math import sqrt
class Vecteur():
def __init__(self,x,y,z):
self.x=x
self.y=y
self.z=z
def affiche(self):
return self.x , self.y, self.z renvoie un tuple donc (….)
def norme(self):
return sqrt((self.x)**2+(self.y)**2+(self.z)**2)
v=Vecteur(1,2,3)
print(v.affiche()) # affichera (1, 2, 3)
print(v.norme()) # affichera 3.7416573867739413
def __sub__(self,v):
if type(v)==Vecteur:
return Vecteur(self.x-v.x,self.y-
v.y,self.z-v.z)
v=Vecteur(1,2,3)
w=Vecteur(3,4,5)
print(v.__sub__(w).affiche()) #(-2, -2, -2)
print((v-w).affiche()) #(-2, -2, -2)
def __eq__(self,v):
if type(v)==Vecteur :
return self.x==v.x and self.y==v.y and self.z==v.z
def __ne__(self,v):
if type(v)==Vecteur :
return self.x != v.x or self.y !=v.y or self. z !=v.z
v=Vecteur(1,2,3)
w=Vecteur(1,2,3)
print(v.__eq__(w))
print(v.__ne__(w))