Dans le plan, un point peut être représenté par ses coordonnées cartésiennes x
et y
.
Pour cet exercice, vous devez utiliser en priorité le fichier squelette ex12-point2d.py. IMPORTANT : Enregistrez le avec Right Click + Save Link As...
pour conserver l’encodage.
Selon la convention de structuration des modules, ce fichier sera structuré en quatre parties :
L’objectif est d’écrire une classe Point2D
:
- dont les attributs sont ``x`` et ``y``, les coordonnées cartésiennes du point ;
- et possédant :
- une méthode ``move()`` avec 2 arguments ``dx`` et ``dy`` permettant de déplacer le point de telle sorte que ses nouvelles coordonnées soient ``(x+dx, y+dy)``.
- une méthode :meth:`distance` prenant en argument un autre ``Point2D`` et retournant la distance euclidienne entre le point courant et celui passé en argument.
Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main()
et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).
Le constructeur doit permettre de créer un point de coordonnées (0,0)
si aucun paramètre ne lui est passé.
La méthode move()
ne retourne rien (None
).
Pour le calcul de distance, il est efficace de faire appel à la fonction math.hypot()
.
Redéfinir la méthode __str__()
pour un affichage pertinent lors de l’appel à print()
.
Une fois la classe opérationnelle, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.