5.定义一个计算一元二次方程根的类QE,类中包括私有变量a,b,c表示三个系数,方法getD()返回判别式b*b-4*a*c的值。方法getRoot1()和getRoot2()分别计算方程式的两个根。若判别式为正,则输出两个根,若为0,则显示1个根,否则显示“该方程无根".输入一组系数的值(a不为0),创建一个QE类的对象qe1,计算并输出该方程的根(保留2位小数)。
时间: 2024-02-21 20:59:41 浏览: 115
好的,这是一个关于定义计算一元二次方程根的类QE的代码示例,您可以参考:
```python
class QE:
def __init__(self, a, b, c):
self.__a = a
self.__b = b
self.__c = c
def getD(self):
return self.__b**2 - 4*self.__a*self.__c
def getRoot1(self):
if self.getD() >= 0:
return (-self.__b + self.getD()**0.5) / (2*self.__a)
else:
return None
def getRoot2(self):
if self.getD() >= 0:
return (-self.__b - self.getD()**0.5) / (2*self.__a)
else:
return None
# 输入一组系数
a, b, c = map(float, input("请输入一元二次方程的系数(a, b, c,中间用空格隔开):").split())
# 创建一个QE类的对象qe1
qe1 = QE(a, b, c)
# 计算并输出该方程的根
if qe1.getD() > 0:
print("该方程有两个根,分别为:{:.2f}和{:.2f}".format(qe1.getRoot1(), qe1.getRoot2()))
elif qe1.getD() == 0:
print("该方程有一个根,为:{:.2f}".format(qe1.getRoot1()))
else:
print("该方程无根")
```
请注意,由于输入的系数a、b、c可能是浮点数,所以我们在输入时需要将它们转换成浮点数类型。另外,在计算根时,我们需要判断判别式是否大于等于0,如果小于0,则说明该方程无实数根。
阅读全文