声明并测试一个复数类,其方法包括
时间: 2024-06-12 14:09:04 浏览: 87
复数类的示例代码如下:
```python
class ComplexNumber:
def __init__(self, real, imaginary):
self.real = real
self.imaginary = imaginary
def __str__(self):
if self.imaginary >= 0:
return f"{self.real} + {self.imaginary}i"
else:
return f"{self.real} - {-self.imaginary}i"
def add(self, other):
real_part = self.real + other.real
imaginary_part = self.imaginary + other.imaginary
return ComplexNumber(real_part, imaginary_part)
def subtract(self, other):
real_part = self.real - other.real
imaginary_part = self.imaginary - other.imaginary
return ComplexNumber(real_part, imaginary_part)
def multiply(self, other):
real_part = self.real * other.real - self.imaginary * other.imaginary
imaginary_part = self.real * other.imaginary + self.imaginary * other.real
return ComplexNumber(real_part, imaginary_part)
def divide(self, other):
denominator = other.real**2 + other.imaginary**2
real_part = (self.real * other.real + self.imaginary * other.imaginary) / denominator
imaginary_part = (self.imaginary * other.real - self.real * other.imaginary) / denominator
return ComplexNumber(real_part, imaginary_part)
# 测试复数类的方法
c1 = ComplexNumber(3, 4)
c2 = ComplexNumber(1, 2)
print(f"c1: {c1}")
print(f"c2: {c2}")
c3 = c1.add(c2)
print(f"c1 + c2 = {c3}")
c4 = c1.subtract(c2)
print(f"c1 - c2 = {c4}")
c5 = c1.multiply(c2)
print(f"c1 * c2 = {c5}")
c6 = c1.divide(c2)
print(f"c1 / c2 = {c6}")
```
输出结果:
```
c1: 3 + 4i
c2: 1 + 2i
c1 + c2 = 4 + 6i
c1 - c2 = 2 + 2i
c1 * c2 = -5 + 10i
c1 / c2 = 2.2 - 0.4i
```