python中【问题描述】 定义复数类Complex,使用方法实现复数的加法、减法、乘法,所有方法都返 回Complex类型的対象。程序輸入两个 复数,而后依次输出加法结果,减法结 果和乘法結果。 【输入形式】 每个复数的输入形式是:(实部,虛部)。实部和虛部都是整数。 【输出形式】 以"(被加数)+(加数)=结果"形式输出每 —个结果。中间不带任何空格。注意被 加数和加数两边的括号。 每个复数都以"实部+虛部i形式输出。 即使实部或虛部为零,也不要省
时间: 2024-03-24 12:37:17 浏览: 62
以下是实现上述功能的Python代码:
```python
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
def __str__(self):
if self.imag >= 0:
return f"{self.real}+{self.imag}i"
else:
return f"{self.real}{self.imag}i"
def __add__(self, other):
real = self.real + other.real
imag = self.imag + other.imag
return Complex(real, imag)
def __sub__(self, other):
real = self.real - other.real
imag = self.imag - other.imag
return Complex(real, imag)
def __mul__(self, other):
real = self.real * other.real - self.imag * other.imag
imag = self.real * other.imag + self.imag * other.real
return Complex(real, imag)
num1 = Complex(*map(int, input().strip("()").split(",")))
num2 = Complex(*map(int, input().strip("()").split(",")))
result_add = num1 + num2
result_sub = num1 - num2
result_mul = num1 * num2
print(f"({num1})+({num2})={result_add}")
print(f"({num1})-({num2})={result_sub}")
print(f"({num1})*({num2})={result_mul}")
```
代码中首先定义了一个复数类`Complex`,包括构造函数`__init__`和重载了加法`__add__`、减法`__sub__`和乘法`__mul__`运算符。其中,`__str__`方法用于重载`str`函数,以便输出复数的字符串表示。
在主程序中,首先读入两个复数,然后计算加法、减法和乘法的结果,并用字符串格式化输出结果。
例如,如果输入为:
```
(1,2)
(3,4)
```
则输出结果为:
```
(1+2i)+(3+4i)=(4+6i)
(1+2i)-(3+4i)=(-2-2i)
(1+2i)*(3+4i)=(-5+10i)
```
阅读全文