Python二次方程组

时间:2016-11-18 03:21:01

标签: python class quadratic

我目前正在python中创建一个类来制作二次方程。我在课堂上写下了一个判别函数,我试图在根函数中调用它,但是,我不确定如何确定它。我收到属性错误。

AttributeError:' QuadraticEquation'对象没有属性' discriminimiant'

def discriminant(self):
    return ((self.b)**2) - (4 * self.a * self.c)

def root1(self):
    if self.discrimiant() < 0:
        return None
    else:
        return (-self.b + math.sqrt(self.discriminant())) / (2 * self.a)
def root2(self):
    if self.discrimiant() < 0:
        return None
    else:
        return (-self.b - math.sqrt(self.discriminant())) / (2 * self.a)

1 个答案:

答案 0 :(得分:0)

您的代码中存在拼写错误。 discriminant,而不是discrimiant。这是一个有效的代码 -

class QuadraticEquation:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
    def discriminant(self):
        return ((self.b)**2) - (4 * self.a * self.c)

    def root1(self):
        if self.discriminant() < 0:
            return None
        else:
            return (-self.b + math.sqrt(self.discriminant())) / (2 * self.a)
    def root2(self):
        if self.discriminant() < 0:
            return None
        else:
            return (-self.b - math.sqrt(self.discriminant())) / (2 * self.a)

a = QuadraticEquation(1,2,3)
print a.root1()
print a.root2()
print a.discriminant()