测试积点老人 发表于 2019-12-11 10:40:07

Python的一道练习题,求解

Python的一道练习题,求解
为二次方程式ax2+bx+c=0设计一个名为Equation的类,这个类包括:
一个参数为a,b,c的构造方法;
一个名为getDiscriminant()的方法返回判别式的值;
一个名为getRoot()的方法返回等式的两个根,如果判别式为负数,则返回“方程没有实数根”。
如果可以麻烦注释下过程

bellas 发表于 2019-12-12 09:52:19

参考下这个链接https://ask.csdn.net/questions/1008781

梦想家 发表于 2019-12-12 11:03:54

eq=Equation(1,2,0)

eq.getDiscriminant()
Out: 4

eq.getRoot()
Out: (-2.0, 0.0)

jingzizx 发表于 2019-12-12 12:21:25

搜索下相关例子吧

litingting0214 发表于 2019-12-12 12:41:48

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

qqq911 发表于 2019-12-12 12:48:38

eq=Equation(1,2,0)

eq.getDiscriminant()
Out: 4

eq.getRoot()
Out: (-2.0, 0.0)
页: [1]
查看完整版本: Python的一道练习题,求解