-2

我目前正在尝试编写一个处理复数的程序。我必须使用类和方法。我试图能够加、减、乘等,复数,以及将它们相互比较。我认为我有一个良好的开端,但有一些问题。

每种方法我都开始了,我想我只需要填补空白。在方法中,我使用 self.x 作为占位符。我不太确定那里发生了什么。首先,程序需要创建自己的复数。我是制作方法和函数的新手,我不确定我是否在正确的地方使用了 (self)。

我很确定我有一些语法问题,即它一直说变量“i”没有定义,当我清楚地在多个地方定义它时。

一旦所有这些都解决了,我需要创建一个实际使用代码的测试函数。

任何帮助,将不胜感激。谢谢!

到目前为止我的代码:

import math
i = math.sqrt(-1) 

class Complex(object):

    def __init__(Complex, a, b):
        '''Creates Complex Number'''
        a = 0
        b = 0
        return(Complex, a, b) 


    def __str__(Complex, a, b):
        '''Returns complex number as a string'''
        a = 0
        b = 0
        return str(a, b) 

    def __add__(self):
        '''Adds complex numbers'''
        i = math.sqrt(-1) 
        self.x = (a + bi) + (c + di) = (a + c) + (b + d)i

    def __sub__(self):
        '''Subtracts complex numbers'''
        self.x = (a + bi) - (c + di) = (a - c) + (b - d)i

    def __mul__(self):
        '''Multiplies complex numbers'''
        self.x =  (a + bi) * (c + di) = (ac - bd) + (bc + ad)i

    def __div__(self):
        '''Divides complex numbers'''
        self.x =  (a + bi) / (c + di) = (ac + bd)/(c**2 + d**2) + (bc - ad)i/(c**2 + d**2)

    def __abs__(self):
        '''Determines absolute value of complex numbers'''
        self.x = math.sqrt(a**2 + b**2)
4

1 回答 1

3
于 2012-09-19T00:31:17.463 回答