@@ -33,7 +33,7 @@ def __add__(self, other):
3333 raise ValueError ('The second number is None' )
3434 if not isinstance (other , Complex ):
3535 other = Complex (other )
36- return Complex (self .re + other .re , self .im + other .im )
36+ return Complex (self .re + other .re , self .im + other .im , self . restore )
3737 except ValueError as err :
3838 self .print_err (err )
3939 # Operator overloading 2 : -
@@ -43,7 +43,7 @@ def __sub__(self, other):
4343 raise ValueError ('The second number is None' )
4444 if not isinstance (other , Complex ):
4545 other = Complex (other )
46- return Complex (self .re - other .re , self .im - other .im )
46+ return Complex (self .re - other .re , self .im - other .im , self . restore )
4747 except ValueError as err :
4848 self .print_err (err )
4949 # Operator overloading 3 : *
@@ -53,7 +53,7 @@ def __mul__(self, other):
5353 raise ValueError ('The second number is None' )
5454 if not isinstance (other , Complex ):
5555 other = Complex (other )
56- return Complex (self .re * other .re - self .im * other .im , self .re * other .im + self .im * other .re )
56+ return Complex (self .re * other .re - self .im * other .im , self .re * other .im + self .im * other .re , self . restore )
5757 except ValueError as err :
5858 self .print_err (err )
5959 # Operator overloading 4 : /
@@ -69,8 +69,8 @@ def __truediv__(self, other):
6969 print (Fore .RED + 'Float division by zero' )
7070 print (Fore .GREEN + 'Restoring last number' )
7171 print (Style .RESET_ALL , end = '' )
72- return Complex (self .re , self .im )
73- return Complex (num .re / den .re , num .im / den .re )
72+ return Complex (self .re , self .im , self . restore )
73+ return Complex (num .re / den .re , num .im / den .re , self . restore )
7474 except (ZeroDivisionError , ValueError ) as err :
7575 self .print_err (err )
7676 # Operator overloading 5 : //
@@ -86,8 +86,8 @@ def __floordiv__(self, other):
8686 print (Fore .RED + 'Float division by zero' )
8787 print (Fore .GREEN + 'Restoring last number' )
8888 print (Style .RESET_ALL , end = '' )
89- return Complex (self .re , self .im )
90- return Complex (num .re // den .re , num .im // den .re )
89+ return Complex (self .re , self .im , self . restore )
90+ return Complex (num .re // den .re , num .im // den .re , self . restore )
9191 except (ZeroDivisionError , ValueError ) as err :
9292 self .print_err (err )
9393 def __gt__ (self , other ):
@@ -170,7 +170,7 @@ def __isub__(self, other):
170170 other = Complex (other )
171171 self .re -= other .re
172172 self .im -= other .im
173- return Complex (self .re , self .im )
173+ return Complex (self .re , self .im , self . restore )
174174 except ValueError as err :
175175 self .print_err (err )
176176 # Operator overloading 14: *=
@@ -182,7 +182,7 @@ def __imul__(self, other):
182182 other = Complex (other )
183183 self .re = self .re * other .re - self .im * other .im
184184 self .im = self .re * other .im + self .im * other .re
185- return Complex (self .re , self .im )
185+ return Complex (self .re , self .im , self . restore )
186186 except ValueError as err :
187187 self .print_err (err )
188188 # Operator overloading 15: /=
@@ -198,10 +198,10 @@ def __idiv__(self, other):
198198 print (Fore .RED + 'Float division by zero' )
199199 print (Fore .GREEN + 'Restoring last number' )
200200 print (Style .RESET_ALL , end = '' )
201- return Complex (self .re , self .im )
201+ return Complex (self .re , self .im , self . restore )
202202 self .re = num .re / den .re
203203 self .im = num .im / den .re
204- return Complex (self .re , self .im )
204+ return Complex (self .re , self .im , self . restore )
205205 except (ZeroDivisionError , ValueError ) as err :
206206 self .print_err (err )
207207 # Operator overloading 16: //=
@@ -217,10 +217,10 @@ def __ifloordiv__(self, other):
217217 print (Fore .RED + 'Float division by zero' )
218218 print (Fore .GREEN + 'Restoring last number' )
219219 print (Style .RESET_ALL , end = '' )
220- return Complex (self .re , self .im )
220+ return Complex (self .re , self .im , self . restore )
221221 self .re = num .re // den .re
222222 self .im = num .im // den .re
223- return Complex (self .re , self .im )
223+ return Complex (self .re , self .im , self . restore )
224224 except (ZeroDivisionError , ValueError ) as err :
225225 self .print_err (err )
226226 ## Helper functions
@@ -229,7 +229,7 @@ def mod(self):
229229 return sqrt (self .re ** 2 + self .im ** 2 )
230230 # Conjugated of a complex number
231231 def con (self ):
232- return Complex (self .re , - self .im )
232+ return Complex (self .re , - self .im , self . restore )
233233 # function to print the error message
234234 def print_err (self , err ):
235235 print (Fore .RED + '{}: {}' .format (err .__class__ .__name__ , err ))
0 commit comments