diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index a600305..00677b2 100644 Binary files a/__pycache__/__init__.cpython-36.pyc and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_create_class/__pycache__/__init__.cpython-36.pyc b/q01_create_class/__pycache__/__init__.cpython-36.pyc index 09a1efa..4bc5148 100644 Binary files a/q01_create_class/__pycache__/__init__.cpython-36.pyc and b/q01_create_class/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_create_class/__pycache__/build.cpython-36.pyc b/q01_create_class/__pycache__/build.cpython-36.pyc index 9f53117..e953d45 100644 Binary files a/q01_create_class/__pycache__/build.cpython-36.pyc and b/q01_create_class/__pycache__/build.cpython-36.pyc differ diff --git a/q01_create_class/build.py b/q01_create_class/build.py index a0188d6..0a99865 100644 --- a/q01_create_class/build.py +++ b/q01_create_class/build.py @@ -2,14 +2,41 @@ import numpy as np import math -"write your solution here" class complex_number: - """The complex number class. + def __init__(self,real,imag): + self.real=real + self.imag=imag + + def __str__(self): + return '{:d}{:+d}j'.format(self.real,self.imag) + + def __add__(self,other): + return complex_number((self.real+other.real),(self.imag+other.imag)) + + def __sub__(self,other): + return complex_number((self.real-other.real),(self.imag-other.imag)) + + def __mul__(self,other): + real=((self.real*other.real)-(self.imag*other.imag)) + imag=((self.real*other.imag)+(self.imag*other.real)) + return complex_number(real,imag) + + def __truediv__(self,other): + + real=((self.real*other.real)+(self.imag*other.imag))/(other.real**2+other.imag**2) + imag=((self.imag*other.real)-(self.real*other.imag))/(other.real**2+other.imag**2) + return (real,imag) + + def abs(self): + return math.sqrt(self.real**2+self.imag**2) + + def conjugate(self): + return complex_number(self.real,-(self.imag)) + + def argument(self): + return math.degrees(math.atan(self.imag/self.real)) + - Attributes: - attr1 (x): Real part of complex number. - attr2 (y): Imaginary part of complex number. - """ diff --git a/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc b/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc index 58575f1..c8c3653 100644 Binary files a/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc and b/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_create_class/tests/__pycache__/test_complex_number.cpython-36.pyc b/q01_create_class/tests/__pycache__/test_complex_number.cpython-36.pyc index b378e09..fd409cf 100644 Binary files a/q01_create_class/tests/__pycache__/test_complex_number.cpython-36.pyc and b/q01_create_class/tests/__pycache__/test_complex_number.cpython-36.pyc differ