用Python 编写一个复数类,类的数据成员为复数的实部和虚部(用浮点数表示),实现两个复数间的加、减、乘和除法运算作为类的四个公有方法成员,同时编写构造方法、set方法、get方法和特殊方法。编写主程序文件实现两个复数间的各种运算。
时间: 2025-01-20 16:11:34 浏览: 51
好的,我来为您编写一个Python中的复数类,实现您所描述的功能。以下是代码实现:
```python
class ComplexNumber:
def __init__(self, real=0.0, imag=0.0):
self.__real = real
self.__imag = imag
def set_real(self, real):
self.__real = real
def set_imag(self, imag):
self.__imag = imag
def get_real(self):
return self.__real
def get_imag(self):
return self.__imag
def __add__(self, other):
return ComplexNumber(self.__real + other.__real, self.__imag + other.__imag)
def __sub__(self, other):
return ComplexNumber(self.__real - other.__real, self.__imag - other.__imag)
def __mul__(self, other):
real_part = self.__real * other.__real - self.__imag * other.__imag
imag_part = self.__real * other.__imag + self.__imag * other.__real
return ComplexNumber(real_part, imag_part)
def __truediv__(self, other):
denominator = other.__real**2 + other.__imag**2
real_part = (self.__real * other.__real + self.__imag * other.__imag) / denominator
imag_part = (self.__imag * other.__real - self.__real * other.__imag) / denominator
return ComplexNumber(real_part, imag_part)
def __str__(self):
return f"{self.__real} + {self.__imag}i"
# 主程序
if __name__ == "__main__":
# 创建两个复数
c1 = ComplexNumber(3, 4)
c2 = ComplexNumber(1, -2)
# 打印初始复数
print(f"c1 = {c1}")
print(f"c2 = {c2}")
# 加法
c_add = c1 + c2
print(f"c1 + c2 = {c_add}")
# 减法
c_sub = c1 - c2
print(f"c1 - c2 = {c_sub}")
# 乘法
c_mul = c1 * c2
print(f"c1 * c2 = {c_mul}")
# 除法
c_div = c1 / c2
print(f"c1 / c2 = {c_div}")
# 使用set方法修改复数
c1.set_real(5)
c1.set_imag(-3)
print(f"修改后的c1 = {c1}")
# 使用get方法获取复数
print(f"c1的实部: {c1.get_real()}")
print(f"c1的虚部: {c1.get_imag()}")
```
这个程序实现了一个完整的复数类,包括:
1. 构造函数:初始化实部和虚部。
2. set和get方法:设置和获取实部和虚部。
3. 特殊方法:实现了加、减、乘、除运算。
4. __str__方法:定义了复数的字符串表示。
5. 主程序:演示了类的使用,包括创建对象、进行运算、修改属性和使用get方法。
这个实现涵盖了您要求的所有功能,提供了一个完整且功能丰富的复数类。
阅读全文
相关推荐


















