Python定义一个计算一元二次方程根的类QE,类中包括私有变量a,b,c表示三个系数,方法getD()返回判别式b*b-4*a*c的值。方法getRoot1()和getRoot2()分别计算方程式的两个根。若判别式为正,则输出两个根,若为0,则显示1个根,否则显示“该方程无根".输入一组系数的值(a不为0),创建一个QE类的对象qe1,计算并输出该方程的根 注意】第1行为输入,第2行为输出。格式不同算错
时间: 2024-02-19 21:57:41 浏览: 142
通过python实现求一元二次方程的根
以下是实现题目要求的Python代码:
```python
class QE:
def __init__(self, a, b, c):
self.__a = a
self.__b = b
self.__c = c
def getD(self):
return self.__b * self.__b - 4 * self.__a * self.__c
def getRoot1(self):
return (-self.__b + (self.__b * self.__b - 4 * self.__a * self.__c) ** 0.5) / (2 * self.__a)
def getRoot2(self):
return (-self.__b - (self.__b * self.__b - 4 * self.__a * self.__c) ** 0.5) / (2 * self.__a)
a, b, c = map(float, input().split())
qe1 = QE(a, b, c)
D = qe1.getD()
if D > 0:
root1 = qe1.getRoot1()
root2 = qe1.getRoot2()
print("x1=%.2f,x2=%.2f" % (root1, root2))
elif D == 0:
root = qe1.getRoot1()
print("x=%.2f" % root)
else:
print("该方程无根")
```
输入格式为一行,包括三个浮点数,分别表示一元二次方程的三个系数a、b、c。输出格式分三种情况:
1. 如果判别式D大于0,则输出两个根,格式为"x1=第一个根,x2=第二个根"。
2. 如果判别式D等于0,则输出一个根,格式为"x=唯一根"。
3. 如果判别式D小于0,则输出"该方程无根"。
下面是一个样例输入输出:
【输入】
1 2 1
【输出】
x=-1.00
阅读全文