python一元二次方程求根
时间: 2023-08-29 16:12:34 浏览: 123
可以使用以下代码来求解一元二次方程的根:
```python
import math
def quadratic(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
print("无解")
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)
```
其中,a、b、c 分别为一元二次方程的系数。使用 `quadratic(a, b, c)` 函数即可求解。如果方程无解,函数会输出 "无解"。如果方程有解,则会输出相应的根。
相关问题
python 一元二次方程求根
在Python中,你可以使用内置的`cmath`模块来处理复数,或者使用`numpy`库中的函数来解决一元二次方程。一元二次方程的一般形式为 \( ax^2 + bx + c = 0 \),其中 \( a \neq 0 \)。以下是一个简单的例子,展示了如何使用Python计算实数解:
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 实数解的情况
if discriminant >= 0:
x1 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return x1, x2
else:
# 复数解的情况
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
return complex(real_part, imaginary_part), complex(real_part, -imaginary_part)
# 示例用法
a = 1
b = -3
c = 2
solution = quadratic_solver(a, b, c)
print(f"方程 {a}x^2 + {b}x + {c} 的解是 {solution}")
```
如果你只想处理实数情况,可以使用`math`模块代替`cmath`,但`math`不支持复数运算。
Python一元二次方程求根
以下是Python代码,用于解决一元二次方程的根:
```python
import math
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
# 判断方程是否有实根
if discriminant < 0:
print("方程无实根")
elif discriminant == 0:
root = -b / (2*a)
print("方程有唯一实根:{}".format(root))
else:
root1 = (-b + math.sqrt(discriminant)) / (2*a)
root2 = (-b - math.sqrt(discriminant)) / (2*a)
print("方程有两个实根:{}和{}".format(root1, root2))
# 测试
solve_quadratic_equation(1, -5, 6)
solve_quadratic_equation(1, 2, 1)
solve_quadratic_equation(1, 1, 1)
```
输出结果为:
```
方程有两个实根:3.0和2.0
方程有唯一实根:-1.0
方程无实根
```
其中,`solve_quadratic_equation`函数的三个参数分别为一元二次方程`ax^2 + bx + c = 0`中的系数`a`、`b`和`c`。该函数首先计算方程的判别式,然后根据判别式的值判断方程是否有实根,最后计算实根并输出。
阅读全文