记录PTA编程练习题7-36 复数四则运算——Python3实现

题目描述:

        本题要求编写程序,计算2个复数的和、差、积、商。

输入格式:

        输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。

输出格式:

        分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。

代码实现:

a1,b1,a2,b2 = map(float,input().split())
a,b = complex(a1,b1),complex(a2,b2)  #转化为复数
r1,i1 = round(a.real,1),round(a.imag,1)
r2,i2 = round(b.real,1),round(b.imag,1)
if i1 >= 0:  #非负数前面应有‘+’号
    i1 = '+' + str(i1)
if i2 >= 0:
    i2 = '+' + str(i2)
def f(c):
    c1,c2 = round(c.real,1),round(c.imag,1)
    if c1 == 0 and c2 == 0:  #实部和虚部都为0
        print("0.0")
    elif c1 == 0:  #只有实部为0
        print(f"{c2}i")
    elif c2 == 0:  #只有虚部为0
        print(c1)
    else:
        if c2>0:  #虚部大于0,其前面应有‘+’号
            print(f"{c1}+{c2}i")
        else:
            print(f"{c1}{c2}i")
print(f"({r1}{i1}i) + ({r2}{i2}i) = ",end='')  #按格式输出
f(a+b)
print(f"({r1}{i1}i) - ({r2}{i2}i) = ",end='')
f(a-b)
print(f"({r1}{i1}i) * ({r2}{i2}i) = ",end='')
f(a*b)
print(f"({r1}{i1}i) / ({r2}{i2}i) = ",end='')
f(a/b)

 

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值