(python)7-4 sdut-oop-1 简单的复数运算 (10 分)

设计一个类Complex,用于封装对复数的下列操作:
成员变量:实部real,虚部image,均为整数变量;
构造方法:无参构造方法、有参构造方法(参数2个)
成员方法:含两个复数的加、减、乘操作。
    复数相加举例: (1+2i)+(3+4i)= 4 + 6i
    复数相减举例: (1+2i)-(3+4i)= -2 - 2i
    复数相乘举例: (1+2i)*(3+4i)= -5 + 10i
要求:对复数进行连环算术运算。

提示:如果用PYTHON语言实现,不必设计Complex类,可以使用内置的复数数据类型,完成复数的算术运算。

输入格式:

输入有多行。
第一行有两个整数,代表复数X的实部和虚部。
后续各行的第一个和第二个数表示复数Y的实部和虚部,第三个数表示操作符op: 1——复数X和Y相加;2——复数X和Y相减;3——复数X和Y相乘。
当输入0 0 0时,结束运算,输出结果。

输出格式:

输出一行。
第一行有两个整数,代表复数的实部和虚部,实部和虚部之间用1个空格分开。

输入样例:

1  1
3  4  2
5  2  1
2  -1  3
0  2  2
0  0  0

输出样例:

5 -7

结尾无空行

答案:

a,b=map(int,input().split())
x=complex(a, b)
while 1:
    a,b,c=map(int,input().split())
    y = complex(a, b)
    if (y==0&c==0):
        print(int(x.real),int(x.imag))
        break
    if c==1:
        x=x+y
    elif c==2:
        x=x-y
    else :
        x=x*y

复数的数学运算相关知识

1.复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定。比如:

>>> a = complex(2, 4)
>>> b = 3 - 5j
>>> a
(2+4j)

>>> b
(3-5j)

>>>

对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:

>>> a.real
2.0
>>> a.imag
4.0
>>> a.conjugate()
(2-4j)
>>>
上一篇:【做题记录】人类智慧


下一篇:树结构-二叉树