-
Notifications
You must be signed in to change notification settings - Fork 0
/
HW38_Task
41 lines (31 loc) · 1.04 KB
/
HW38_Task
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
Создайте класс «Правильная дробь» и реализуйте методы сравнения, сложения, вычитания и произведения для экземпляров этого класса.
https://ru.wikipedia.org/wiki/%D0%94%D1%80%D0%BE%D0%B1%D1%8C_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)
class Fraction:
def __init__(self, a, b):
self.a = a
self.b = b
def __mul__(self, other):
pass
def __add__(self, other):
pass
def __sub__(self, other):
pass
def __eq__(self, other):
pass
def __gt__(self, other):
pass
def __lt__(self, other):
pass
def __str__(self):
return f"Fraction: {self.a}, {self.b}"
f_a = Fraction(2, 3)
f_b = Fraction(3, 6)
f_c = f_b + f_a
assert str(f_c) == 'Fraction: 21, 18'
f_d = f_b * f_a
assert str(f_d) == 'Fraction: 6, 18'
f_e = f_a - f_b
assert str(f_e) == 'Fraction: 3, 18'
assert f_d < f_c # True
assert f_d > f_e # True
assert f_a != f_b # True