예제 #1
0
	def add(self, a, b):
		if isinstance(a, float):
			if isinstance(b, float):
				return a + b
			elif isinstance(b, Complex):
				return Complex.add(Complex(a), b)
			elif isinstance(b, Matrix):
				raise ComputorException('Illegal operation: Rational + Matrix')
		elif isinstance(a, Complex):
			if isinstance(b, float):
				return Complex.add(a, Complex(b))
			elif isinstance(b, Complex):
				return Complex.add(a, b)
			elif isinstance(b, Matrix):
				raise ComputorException('Illegal operation: Complex + Matrix')
		elif isinstance(a, Matrix):
			if isinstance(b, float):
				raise ComputorException('Illegal operation: Matrix + Rational')
			elif isinstance(b, Complex):
				raise ComputorException('Illegal operation: Matrix + Complex')
			elif isinstance(b, Matrix):
				return Matrix.add(a, b)
		raise ComputorException('Computor.add(): something bad happened 🤷')
예제 #2
0
    def test_add(self):
        c1 = Complex(10, 4)
        c2 = Complex(12, -2)

        self.assertEqual(str(c1.add(c2)), "22.00 + 2.00i", "Should equal '22.00 + 2.00i'")
from complex import Complex

A = Complex(1,3)
print(A.toString())
A.add(Complex(1,3))
print(A.toString())