用Python定义一个函数,实现对一个复数a+bj求模的平方并返回该值

紫光的一个笔试题目,求复数模的平方。和同学交流了好一会后写出如下结果

a = input("input")
b =a.split("+" or "-")  #按照符号分割后赋值给b
def xs(b):
    if len(b)>1:        #实部与虚部都存在
        if "j" in b[0] :
            s = int(b[0][:-1])
            x= int(b[1])
        elif "j" in b[1]:
            x = int(b[1][:-1])
            s = int(b[0])
        return s * s + x * x
    elif "j" in b[0]:   #只存在虚部
        s = int(b[0][:-1])
        return s*s
    else:               #只存在实部
        return pow(int(b[0]),2)
print(xs(b))

复数模的数学模型是对实部与虚部求平方后相加,再开根号如:a = 1-2j

(1*1+(-2)*(-2))**0.5

 

elif "j" in b[0]:   #只存在虚部
    s = int(b[0][:-1])

这一行中使用b[0]的原因,如果只存在实部或虚部,使用s = int(b[:-1])切割["200j"]的时候获取为null.所以即使只存在实部或虚部也需要使用b[0]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值