Aller au contenu

La classe Pair

Classe Pair

La classe Pair ci-dessous permet de modéliser un point du plan avec ses coordonnées cartésiennes.

🐍 Script Python
class Pair:
    """Repérage dans le plan"""
    def __init__(self, x, y):
        self.x = float(x)
        self.y = float(y)

    def __repr__(self):
        return f"Pair({self.x}, {self.y})"

    def __eq__(self, other):
        return (self.x == other.x) and (self.y == other.y)
  1. On peut créer un point A de coordonnées \((5, 7)\) avec A = Pair(5, 7)
  2. Les méthodes __repr__ et __eq__ permettent quelques facilités d'utilisation.

⚠ Il n'est pas du tout utile de comprendre parfaitement cette construction pour faire les exercices.

👍 Tous les exercices sont réalisables en classe de seconde.

Exemple d'utilisation

🐍 Console Python
>>> A = Pair(5, 7)
>>> A.x  # l'abscisse de A
5.0
>>> A.y  # l'ordonnée de A
7.0
>>> A    # si on veut lire les coordonnées de A
Pair(5.0, 7.0)
>>> A == A  # Un test d'égalité entre points est possible
True
  • L'avant dernière instruction est possible grâce à la méthode __repr__
  • La dernière instruction est possible grâce à la méthode __eq__

⚠ Encore une fois, il est inutile de comprendre la construction de la classe.

👍 Il est juste utile de savoir l'utiliser !

Exercice

Avec la figure ci-dessus, munie d'un repère orthonormé, lire les coordonnées des points et compléter le code suivant.

👍 Conseil : Utiliser le mode deux colonnes de l'éditeur !

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.128013,5/f7Brnb o=ylaepcgu)vd46F13AmhtsP(S+02CD-iE050x0q0G0p0R0o0H0k0s0o0p0H0H0m010G0R0r010406050H0u0E0E0p0h0n040K0l0o0u0-0l0i050d0@0_0{0}0=0r04051d161g0d1d0=0x0R0w0#0%0)0+0F0R0t0F0o1u0F0G0:050W0j0o0q1p0(0*011t1v1x1v0G1D1F1B0G0h1e0G0F1H1r010e0Y0q0i0p0E0q010#100H0r0p0i0+0N1B1/1;1Y1J1#1F1(1*0:0a0k0I0h0l0r0l0H0R130i0k0U1-0h0h0q0s2b161_0i1e0d1W2o1T1V1U1C0x1{0+1x0i1%281B1m1o0$1I2y0R2A0i0l2E1B0r2h1e2m2o2S0?1:2c2G1Z2L0h0`0o0:0B2l2W0;2V1`2Y1J2!2$0:0N2*1;2,2m2x012;0p2%040C2^2n0=2{2/0+2~300y332`2W2|390:0c3c353e372}0l2#2 0:0z3c1h2Q162E2r0x1V2w3m0s2M1+1e3x1f3v2U172+053D0U2R3l1q2:0:0D3c0k2-2X3S0+0l0:0m3W3Y3f0:0I0X0h3t363!010/040J3:3R2H013$040L3`2.3=0E0R3h413Z3|3@0b3)3;3|3~403L2_3*3m440:0f472|3@0v3j4j3=0i0:0g4c3{1Z3~3(4h2n3X4d2Z3,3.4o3m3@3_4D3Q424e0:0Q4K4345042@4O4t490:4b4O4F4z1J4f4U3|4l040M4-1Z4q4s4G3T040O4y4Q4A3%4}484H043-0R3/4Z4_0+4M4=4+0:4g2U59014/3b584*5a4$512|4,5l4~1J4/4;5s521J4@4O3k5t380:0P5p3m4B5H4u4I565c5n3^5O3}4S5R4/325x4p5o4(4!4 044T5X4k4W3i5)3=5A2S5C5y5E040S5K4R044C2S4)5D2}5M575g5m3?0:4N635 5r685=5i4W5W6b5Y044%5}5#5d5%5U4W5k6g4L0:4r5B6l5?0A5_5$5|2+5~6c4v544J5-4#5Q6I5$5(6r4V2?5R4a6z6m5f3M5h4/5,6O6J6u5:163O0q2o2P6*3w1n3y2r2u2p0p1E6-0d3x0=6`0V0X0Z04.