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)