Académique Documents
Professionnel Documents
Culture Documents
if b == 0 :
raise ValueError("Le denomunateur ne pas être nul")
if b > 0 :
self.num = a
self.denom = b
else :
self.num = -a
self.denom = -b
self.__reduce()
def __reduce(self):
""" Normaliser une fraction (écrire la fraction dans sa forme␣
↪irréductible ) """
def __str__(self) :
return str(self.num) if self.denom == 1 else '{}/{}'.format(str(self.
↪num), str(self.denom))
def __repr__(self):
return "fraction({},{})".format(str(self.num), str(self.denom))
1
def __sub__(self, autre):
return fraction(self.num * autre.denom - autre.num * self.denom, self.
↪denom * autre.denom)
def __lt__(self,autre):
return (self.num * autre.denom) < (self.denom * autre.num)
def __eq__(self,autre):
return(self.num * autre.denom) == (self.denom * autre.num)
[135]: f1 = fraction(1, 3)
f2 = fraction(2, 5)
f3 = fraction(4, 8)
print(f1, f2, f3)
f4, f5, f6, f7 = f1 + f2, f1 - f2, f1 * f2, f1 / f2
print(f3, f4, f6, f7)
True False
False True
True False
False True
False False
[137]: f1 = fraction()
f2 = fraction(4, 12)
print(f1)
print(f2)
f2
2
0
1/3
[137]: fraction(1,3)
[67]: f3 = fraction(3, 4)
[69]: print(f3)
3 / 4
[70]: f2 = fraction(3.2, 2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [70], in <cell line: 1>()
----> 1 f2 = fraction(3.2,2)
7 if b == 0 :
8 raise ValueError("Le denomunateur ne pas être nul")