tracks/python/exercises/complex-numbers/example.py in trackler-2.2.1.87 vs tracks/python/exercises/complex-numbers/example.py in trackler-2.2.1.88
- old
+ new
@@ -4,33 +4,36 @@
class ComplexNumber(object):
def __init__(self, real, imaginary):
self.real = real
self.imaginary = imaginary
- def add(self, other):
+ def __eq__(self, other):
+ return self.real == other.real and self.imaginary == other.imaginary
+
+ def __add__(self, other):
r = self.real + other.real
i = self.imaginary + other.imaginary
return ComplexNumber(r, i)
- def mul(self, other):
+ def __mul__(self, other):
r = self.real * other.real - self.imaginary * other.imaginary
i = self.real * other.imaginary + self.imaginary * other.real
return ComplexNumber(r, i)
- def sub(self, other):
+ def __sub__(self, other):
r = self.real - other.real
i = self.imaginary - other.imaginary
return ComplexNumber(r, i)
- def div(self, other):
+ def __truediv__(self, other):
d = other.real * other.real + other.imaginary * other.imaginary
r = (self.real * other.real + self.imaginary *
other.imaginary) / float(d)
i = (self.imaginary * other.real - self.real *
self.real * other.imaginary) / float(d)
return ComplexNumber(r, i)
- def abs(self):
+ def __abs__(self):
square_sum = self.real * self.real + self.imaginary * self.imaginary
return math.sqrt(square_sum)
def conjugate(self):
return ComplexNumber(self.real, -1 * self.imaginary)