题目出自leetcode
class Solution:
def complexNumberMultiply(self, num1: str, num2: str) -> str:
#(a0+b0i)*(a1+b1i)=a0*a1-b0*b1+(a0*b1+b0*a1)i
a0,b0=map(int,num1[:-1].split("+"))
a1,b1=map(int,num2[:-1].split("+"))
return "{0}+{1}i".format((a0*a1-b0*b1),(a0*b1+b0*a1))
看了benhao大佬的代码,记录map用法
map(function, iterable, …)
第一个参数:函数
第二个参数: 序列(1或多,题目中就是两个)
返回:python3返回迭代器
简单讲解下:先用split将复数分为两部分,实部和虚部(序列没取最后一位i),然后int(),再赋值给a,b
然后根据(a0+b0i)(a1+b1i)=a0a1-b0b1+(a0b1+b0*a1)i,得出答案