point.py
point.py — 2.1 KB
Contenu du fichier
''' ********************************************************************** Fichier point.py Classe qui implante le type Point auteur gabriel girard date 2017 ********************************************************************** ''' import math # # La classe Point # # Entree : (implicite) Chaque fonction reçoint un paramètre implicte de type point (self) # class Point: instances = 0 # Initialisation d'un point : x=0, y=0 par défaut) def __init__(self, x=0, y=0): self.x = x self.y = y Point.instances += 1 # Fonction permettant de récupérer la valeur en x d'un point # Sortie : (retour) la valeur en x du point def get_val_x(self): return self.x # Fonction permettant de récupérer la valeur en y d'un point # Sortie : (retour) la valeur en y du point def get_val_y(self): return self.y # lecture des coordonnées d'un point # Entree : (clavier) les valeurs en x et y du point def lecture(self): self.x = int(input("Valeur en x: ")) self.y = int(input("Valeur en y: ")) # Fonction calculant la distance entre 2 points # Entree : (parametre) un point # Sortie : (retour) la distance entre ls points def evaluer_distance(self, point2): dis_x = point2.x - self.x dis_y = point2.y - self.y return math.sqrt(dis_x ** 2 + dis_y ** 2) # Fonction comparant deux point (==) # Entree : (parametre) un point # Sortie : True/False selon l'égalité def __eq__(self, p): return self.x == p.x and self.y == p.y # Fonction transformat un point pour l'impression # Sortie : (retour) chaine de caractères avec les valeurs du point def __str__(self): return "(" + str(self.x) + ", " + str(self.y) + ")" # # Programme pour tester la classe... # def main(): pt1 = Point(1,2) pt2 = Point() pt2.lecture() distance = pt1.evaluer_distance(pt2) pt4 = Point() if pt2 == pt4: print("Égaux") else : print("Différent") print("Distance entre :", str(pt1), str(pt2), "=", distance) print("Le nombre de points créés est", pt1.instances) if __name__ == "__main__": main()