设计一个类,名字为QE,QE类是用来计算一元二次方程ax 2 +bx+c=0的平方根。这个类包括: 私有变量a,b和c表示三个系数; 以a,b和c为参数的初始化方法; a,b,c各自的访问方法; 名为get_d()的方法返回判别式,即b 2 −4ac; 名为get_root_1()和get_root_2()的方法分别计算方程的两个根。这些方法只能在判别式b 2 −4ac非负时才有用,判别式为负,则这些方法返回0. 任务:编写这个类,同时编写测试程序,用户输入a、b和c的值,然后按样例显示结果,保留两位小数。如果判别式为正,显示两个根;如果判别式为0,显示一个根;否则,显示“该方程式无根”。 提示:一元二次求根公式: 2a −b± b 2 −4ac
时间: 2024-03-08 15:47:02 浏览: 100
好的,这是一个简单的实现一个求解一元二次方程的类QE的代码:
```python
class QE:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def get_a(self):
return self.a
def get_b(self):
return self.b
def get_c(self):
return self.c
def get_d(self):
return self.b ** 2 - 4 * self.a * self.c
def get_root_1(self):
d = self.get_d()
if d < 0:
return 0
else:
return (-self.b + d ** 0.5) / (2 * self.a)
def get_root_2(self):
d = self.get_d()
if d < 0:
return 0
else:
return (-self.b - d ** 0.5) / (2 * self.a)
# 测试程序
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
eq = QE(a, b, c)
d = eq.get_d()
if d < 0:
print("该方程式无根")
elif d == 0:
root = eq.get_root_1()
print("该方程式有一个根,为:{:.2f}".format(root))
else:
root1 = eq.get_root_1()
root2 = eq.get_root_2()
print("该方程式有两个根,分别为:{:.2f}和{:.2f}".format(root1, root2))
```
使用这个类,用户可以输入a、b和c的值,然后程序会计算出方程的根并输出结果。如果方程无根,则程序会输出“该方程式无根”。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)