【问题描述】
编写一个程序,功能是:用户输入两个复数,完成复数相加和相减操作,输出相加和相减的结果。要求用类来表示复数,并分别用方法实现复数相加和相减操作。
【输入形式】
输入分两行,每一行一个复数。复数的格式是a+bi。a,b都是正整数。
【输出形式】
输出相加和相减的结果
【样例输入】
3+5i
4+6i
【样例输出】
7+11i
-1-1i
【样例说明】
-1-1i不能写成-1+-1i。
a=input()
b=input()
l1,l2 = len(a),len(b)
cout1,cout2 = 0,0
for i in a:
cout1=cout1+1
if i=='+'or i=='-':
break
for i in b:
cout2=cout2+1
if i=='+'or i=='-':
break
a1=int(a[0:cout1-1])
if a[cout1]=='i':
a2=1
else:
a2=int(a[cout1:len(a)-1])
b1=int(b[0:cout2-1])
if b[cout2]=='i':
b2=1
else:
b2=int(b[cout1:len(b)-1])
class lei:
def __init__(self,a1,a2,b1,b2):
self.a1=a1
self.a2=a2
self.b1=b1
self.b2=b2
def xiangjia(self):
a=a1+b1
b=a2+b2
if a==0 and b>0:
s=(f"{b}i")
elif a==0 and b==0:
s=0
elif a!=0 and b<0:
s=(f"{a}{b}i")
else:
s=(f"{a}+{b}i")
return s
def xiangjian(self):
a = a1 - b1
b = a2 - b2
if b > 0:
s = (f"{a}+{b}i")
elif b<0:
s = (f"{a}{b}i")
else:
s=(f"{a}")
return s
lei1=lei(a1,a2,b1,b2)
print(lei1.xiangjia())
print(lei1.xiangjian())