Python的一道练习题,求解
Python的一道练习题,求解为二次方程式ax2+bx+c=0设计一个名为Equation的类,这个类包括:
一个参数为a,b,c的构造方法;
一个名为getDiscriminant()的方法返回判别式的值;
一个名为getRoot()的方法返回等式的两个根,如果判别式为负数,则返回“方程没有实数根”。
如果可以麻烦注释下过程
参考下这个链接https://ask.csdn.net/questions/1008781 eq=Equation(1,2,0)
eq.getDiscriminant()
Out: 4
eq.getRoot()
Out: (-2.0, 0.0) 搜索下相关例子吧 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 eq=Equation(1,2,0)
eq.getDiscriminant()
Out: 4
eq.getRoot()
Out: (-2.0, 0.0)
页:
[1]