用python解一元二次方程 ax2+bx+c=0
时间: 2023-05-22 13:03:21 浏览: 135
Sure, here's the code to solve a quadratic equation in Python:
import cmath
a = float(input("Enter a: "))
b = float(input("Enter b: "))
c = float(input("Enter c: "))
# Calculate the discriminant
d = (b**2) - (4*a*c)
# Find two solutions
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
print("The solutions are {0} and {1}".format(sol1, sol2))
相关问题
编写求解一元二次方程ax方+bx+c=0的根的过程要求输入系数abc输出根x
好的,以下是一个求解一元二次方程的 Python 代码实现:
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b ** 2 - 4 * a * c # 计算判别式
if delta < 0:
print("该方程无实数解")
elif delta == 0:
x = -b / (2 * a)
print("该方程有唯一实数解:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print("该方程有两个实数解:x1 =", x1, "x2 =", x2)
```
在这个代码中,`a`、`b`、`c` 分别表示一元二次方程的系数,我们首先计算判别式 `delta` 的值。如果 `delta` 小于 0,则说明方程无实数解;如果 `delta` 等于 0,则说明方程有一个唯一的实数解;如果 `delta` 大于 0,则说明方程有两个实数解。根据不同情况,我们输出相应的结果。
使用这个函数,我们可以像下面这样求解一个一元二次方程:
```python
a = 1
b = -2
c = -3
solve_quadratic_equation(a, b, c)
```
这个方程的解为 x1 = 3,x2 = -1。
Python对一元二次方程ax^2+bx+c=0设计一个类名为Equation的类
好的,我可以为您编写这个类。以下是Equation类的代码:
```python
class Equation:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def solve(self):
"""解一元二次方程"""
delta = self.b ** 2 - 4 * self.a * self.c
if delta < 0:
return "无解"
elif delta == 0:
x = -self.b / (2 * self.a)
return f"方程有唯一解:x={x}"
else:
x1 = (-self.b + delta ** 0.5) / (2 * self.a)
x2 = (-self.b - delta ** 0.5) / (2 * self.a)
return f"方程有两个解:x1={x1}, x2={x2}"
```
使用该类时,首先需要创建一个Equation对象,然后调用solve方法来解方程。例如,假设我们要解方程2x^2+3x+1=0,代码如下:
```python
eq = Equation(2, 3, 1)
print(eq.solve())
```
输出结果为:
```
方程有两个解:x1=-0.5, x2=-1.0
```
希望这个类能够满足您的需求。如果您有任何其他的问题,欢迎随时向我提出。
阅读全文