1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| class EssaisTri:
def __init__(self, A=1, B=255):
if not 1 <= A <= 50:
print("Erreur A en dehors de la plage autorisée [1,50], valeur définie à 1")
A = 1
if not 1 <= B <= 255:
print("Erreur B en dehors de la plage autorisée [1,255], valeur définie à 255")
B = 255
self.A=A
self.B=B
def __eq__(self, o):
"""
Redéfinition de l'opérateur '=='
"""
if isinstance(o, self.__class__): pass
elif isinstance(o, (int, float)): o=self.__class__(o)
else: raise ValueError("{0} doit être {} ou int ou float !!!".format(o, self.__class__.__name__))
return self.A == o.A and self.B == o.B
def __ne__(self, o):
"""
Redéfinition de l'opérateur '!='
"""
return not self == o
def __lt__(self, o):
"""
Redéfinition de l'opérateur '<'
"""
if self.A < o.A: return True
if self.A == o.A and self.B < o.B: return True
return False
def __le__(self, o):
"""
Redéfinition de l'opérateur '<='
"""
return not self > o
def __gt__(self, o):
"""
Redéfinition de l'opérateur '>'
"""
if self.A > o.A: return True
if self.A == o.A and self.B > o.B: return True
return False
def __ge__(self,o):
"""
Redéfinition de l'opérateur '>='
"""
return not self < o
def __str__(self):
return (f"({self.A:^5}{self.B:^5}) ")
def __repr__(self):
"""
Surcharge de l'opérateur d'affichage de la classe
"""
return (f"({self.A:^5}, {self.B:^5})")
# class EssaisTri
if __name__ == "__main__" :
A = EssaisTri(10, 26)
B = EssaisTri(10, 36)
print(f"{A=}")
print(f"{B=}")
print(f"{A==B=}")
print(f"{A!=B=}")
print(f"{A>B=}")
print(f"{B>A=}")
print(f"{A>=B=}")
print(f"{B>=A=}")
print(f"{A<B=}")
print(f"{B<A=}")
print(f"{A<=B=}")
print(f"{B<=A=}")
a = EssaisTri(25,18)
b = EssaisTri(18,22)
c = EssaisTri(18,10)
d = EssaisTri(44,40)
print(f"{d>c=}")
h = [a,b,c,d]
print(f"Avant tri:\n{h=}")
h.sort()
print(f"Après tri :\n{h=}")
# if |
Partager