python 复数加减

【问题描述】

编写一个程序,功能是:用户输入两个复数,完成复数相加和相减操作,输出相加和相减的结果。要求用类来表示复数,并分别用方法实现复数相加和相减操作。

【输入形式】

输入分两行,每一行一个复数。复数的格式是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())

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小瑾比个耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值