python求解一元二次方程
时间: 2023-09-25 14:16:17 浏览: 113
一元二次方程的一般形式为 $ax^2+bx+c=0$,其中 $a,b,c$ 是实数且 $a\neq 0$。求解一元二次方程有公式:$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
可以使用 Python 代码实现:
```python
import math
def quadratic_equation(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return "无实数解"
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
# 示例
print(quadratic_equation(1, -3, 2))
# 输出: (2.0, 1.0)
```
其中,`quadratic_equation` 函数接受三个参数 `a`、`b`、`c`,分别代表一元二次方程中的系数。如果方程无实数解,则返回字符串 `"无实数解"`。如果方程有两个实数解,则以元组的形式返回两个解。如果方程有一个实数解,则直接返回该解。
相关问题
Python求解一元二次方程
可以使用 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求解一元二次方程的解
Python可以使用简单的公式来求解一元二次方程的解,这里我们需要用到math库中的sqrt函数来求解方根。
首先,让用户输入三个参数a、b和c:
a = float(input("请输入第一项系数a:"))
b = float(input("请输入第二项系数b:"))
c = float(input("请输入常数项c:"))
接下来,我们可以计算出二次方程的判别式D:
D = b*b - 4*a*c
如果判别式小于零,方程没有实数解。如果判别式等于零,方程有一个实数解。如果判别式大于零,方程有两个实数解。
if D < 0:
print("该方程没有实数解!")
elif D == 0:
x = -b / (2*a)
print("该方程有一个实数解:", x)
else:
x1 = (-b + math.sqrt(D)) / (2*a)
x2 = (-b - math.sqrt(D)) / (2*a)
print("该方程有两个实数解:", x1, "和", x2)
最后,我们使用if语句的条件判断来输出方程的根。
阅读全文