为二次方程式ax²+bx+c=0设计一个名为Equation的类,这个类包括:
一个参数为a,b,c的构造方法;
一个名为getDiscriminant()的方法返回判别式的值;
一个名为getRoot()的方法返回等式的两个根,如果判别式为负数,则返回“方程没有实数根”。
如果可以麻烦注释下过程
为二次方程式ax²+bx+c=0设计一个名为Equation的类,这个类包括:
一个参数为a,b,c的构造方法;
一个名为getDiscriminant()的方法返回判别式的值;
一个名为getRoot()的方法返回等式的两个根,如果判别式为负数,则返回“方程没有实数根”。
如果可以麻烦注释下过程
from math import sqrt
class Equation(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
def getDiscriminant(self):
self.delta = self.b**2-4*self.a*self.c
return self.delta
def getRoot(self):
if self.delta < 0:
return '方程没有实数根'
else :
self.root1 = (-self.b+sqrt(self.delta))/(2*self.a)
self.root2 = (-self.b-sqrt(self.delta))/(2*self.a)
return self.root1,self.root2
eq1=Equation(2,3,1)
print(eq1.getDiscriminant())
print(eq1.getRoot())
print(eq1.delta)
print(eq1.root2)
# 输出结果如下
# 1
# (-0.5, -1.0)
# 1
# -1.0