From 6840d0f5d9d49cd19541e63fdaa3130f4bbe545f Mon Sep 17 00:00:00 2001 From: sonik8494 Date: Tue, 4 Sep 2018 06:49:40 +0000 Subject: [PATCH] Done --- __pycache__/__init__.cpython-36.pyc | Bin 150 -> 147 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 167 -> 164 bytes .../__pycache__/build.cpython-36.pyc | Bin 3805 -> 3387 bytes q01_create_class/build.py | 96 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 173 -> 170 bytes .../test_complex_number.cpython-36.pyc | Bin 2245 -> 2242 bytes 6 files changed, 93 insertions(+), 3 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index a600305bef433ff37356eb447434348465b5f703..5504b7bd1bd64f09485da8cbba768a9850d17d8c 100644 GIT binary patch delta 51 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 ZQ2wN*%= 0): + if(self.real == 0): + return 'i{0}'.format(self.imag) + else: + return '{0} + i{1}'.format(self.real, self.imag) + + elif (self.imag == 0): + if(self.real == 0): + return ' ' + else: + return '{0}'.format(self.real) + + else: + if(self.real == 0): + return '-i{0}'.format(abs(self.imag)) + else: + return '{0} - i{1}'.format(self.real, abs(self.imag)) + + def conjugate(self): + if(self.imag > 0): + return complex_number(self.real, (self.imag * -1)) + else: + return complex_number(self.real, abs(self.imag)) + + def __truedivWithoutConjug__(self, other): + numerator_real = (self.real * other.real) + (self.imag * other.imag) + numerator_imag = (self.imag * other.real) - (self.real * other.imag) + denominator = (other.real**2) + (other.imag**2) + return (numerator_real/denominator, numerator_imag/denominator) + + def __truediv__(self, other): + numerator = self * other.conjugate() + denominator = (other.real ** 2) + (other.imag **2) + #print('Denom is: ', denominator) + return (numerator.real/denominator, numerator.imag/denominator) + #return complex_number(numerator_real/denominator, numerator_imag/denominator) + + def abs(self): + return math.sqrt((self.real ** 2) + (self.imag ** 2)) + + def argument(self): + tan_res = math.atan2(self.imag,self.real) + return (tan_res * (180/math.pi)) + +a = complex_number(4,4) +print('First complex number is: ', str(a)) +b = complex_number(4,-3) +print('Second complex number is: ', str(b)) +add_res = a + b +print('Addition of complex numbers is: ', str(add_res)) +sub_res = a - b +print('Subtraction of complex numbers is: ', str(sub_res)) +mult_res = a * b +print('Multiplication of complex numbers is: ', str(mult_res)) +conjug_res = b.conjugate() +print('Conjugation of complex number is: ', str(conjug_res)) +div_res = a.__truediv__(b) +print('Division of complex numbers is: ', str(div_res)) +abs_res = a.abs() +print('Absolute of complex number is: ', str(abs_res)) +arg_res = a.argument() +print('Argument of complex number is: ', str(arg_res)) +div_result = a.__truedivWithoutConjug__(b) +print('Division of complex numbers is: ', str(div_result)) + + diff --git a/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc b/q01_create_class/tests/__pycache__/__init__.cpython-36.pyc index 58575f1e23fecf3fe965102e87ecea21f5c9254b..7439203ddce18357117977776b3b6a43b1c47c19 100644 GIT binary patch delta 51 zcmZ3>xQda(n3tDJR;w?1B8RzrxPC@{ZmNE9eqLs_g^8t!et3RSc5y*sa;koEeoE@Z GL>~ZmTM!ul delta 54 zcmZ3*xR#N_n3tF9hU2`bi5%uiQTiGAxvBc;MX8mECHcAfF8Rr&xv6<2#rgq7`B|yS JCB+ltd;sK66B+;j 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 b378e0911b4f636abdac9be1c87774be11809f73..f4af7fb579ea185291fc98bcc3ae20f1a0e3626d 100644 GIT binary patch delta 132 zcmX>qcu0`Ln3tDJR;w?1B1f`3TM7_1Gez;Ff>>NY7H=vGRE#f`Wn!0u5?^wDZb43J zMSNaqZc=KICgUxBRFUF|Z$8T>>1X8Urs@~x=VfMFm{^+Vhvye%7Z)TZr|Ku?r=)IX OWC~_ujG7$EQ2+oH*D4bL delta 135 zcmX>kcvO(Xn3tEU@acl6i5$uDEGcX$Y|TtjJgFcS7m&r93KRj0@ujj&>~c`zPtMOR z$Vsh;&nwMMN-ZkZWW2?PDm3xUXQfpAjQreG{q&;L%EXfVTz!}PP08j%i&j0`b