Python求解一元二次方程
时间: 2023-11-05 15:11:43 浏览: 93
可以使用 Python 中的数学库 math 来求解一元二次方程。一元二次方程的一般形式为:ax^2 + bx + c = 0,其中 a、b、c 为实数,且 a ≠ 0。
以下是一个求解一元二次方程的 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)
# 举例:求解 x^2 + 5x + 6 = 0
a = 1
b = 5
c = 6
solve_quadratic_equation(a, b, c)
```
运行结果为:
```
该方程有两个实根:x1 = -2.0 ,x2 = -3.0
```
注意,如果方程无实根,则输出提示信息。
相关问题
python求解一元二次方程的根,包括复数根
可以使用 `cmath` 模块来计算一元二次方程的根,包括复数根。以下是示例代码:
```python
import cmath
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta < 0:
x1 = (-b + cmath.sqrt(delta)) / (2 * a)
x2 = (-b - cmath.sqrt(delta)) / (2 * a)
print("该方程有两个复数根:", x1, "和", x2)
elif delta == 0:
x = -b / (2 * a)
print("该方程有一个实数根:", x)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print("该方程有两个实数根:", x1, "和", x2)
```
在上面的代码中,我们使用 `cmath` 模块的 `sqrt()` 函数来计算方程的根。当判别式小于 0 时,我们使用 `cmath` 模块来计算复数根;当判别式等于 0 时,我们仍然使用公式求实数根;当判别式大于 0 时,我们同样使用公式求实数根。
Python求解一元二次方程的代码
以下是Python求解一元二次方程的代码:
```python
import math
def solve_quad(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
elif delta == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
a = float(input("请输入二次项系数a:"))
b = float(input("请输入一次项系数b:"))
c = float(input("请输入常数项c:"))
result = solve_quad(a, b, c)
if result == None:
print("该方程无实根")
elif isinstance(result, float):
print("方程的唯一实根为:", result)
else:
print("方程的两个实根为:", result)
```
运行程序后,用户需要依次输入二次项系数a,一次项系数b和常数项c,程序将输出方程的实根。如果方程无实根,则输出“该方程无实根”。
阅读全文