python利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。
时间: 2023-12-30 21:02:55 浏览: 157
以下是Python求解一元二次方程的根的代码示例:
```python
import math
def quadratic_equation(a, b, c):
delta = b * b - 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`,分别代表一元二次方程的系数。函数内部首先计算出判别式`delta`,然后根据判别式的值分别计算出方程的两个根`x1`和`x2`,最后将结果返回。
相关问题
利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。代码怎么写
可以按照以下的代码来实现:
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b * b - 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。然后,我们可以计算 delta 的值,用来判断方程有几个实数根。最后,我们根据公式计算出实数根,并输出结果。
``` x1=(-b+n)/(2*a) ```
这段代码看起来是用于计算线性方程 `ax + b = 0` 的根(解)的公式,其中 `x1` 是第一个解。但是代码有一个小错误:变量 `n` 应该是一个平方项 `(b/2a)^2` 才能构成完全平方公式。如果没有这个平方项,这将不是一个标准二次方程的求根公式。
错误分析:
- 如果没有 `n` 或者 `b^2 - 4ac` 分母中包含 `n`,那么这不是一个完整的二次方程求根公式。
- 正确的公式应该是求解形如 `ax^2 + bx + c = 0` 的二次方程的根,而不是 `ax + b = 0` 这样的简单线性方程。
修复后的代码:
```python
# 假设我们有二次方程 ax^2 + bx + c = 0
import math
def quadratic_root(a, b, c):
# 计算判别式
discriminant = b**2 - 4 * a * c
if discriminant >= 0:
# 求两个实数根
root1 = (-b - math.sqrt(discriminant)) / (2 * a)
root2 = (-b + math.sqrt(discriminant)) / (2 * a)
else:
# 单个复数根
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
root1 = f"{real_part:.2f} + {imaginary_part:.2f}i"
root2 = f"{real_part:.2f} - {imaginary_part:.2f}i"
return root1, root2
# 使用示例
a = 1
b = 3
c = 2
x1, x2 = quadratic_root(a, b, c)
print(f"x1 = {x1}, x2 = {x2}")
```
这个修复后的代码首先计算了判别式,然后根据判别式的正负分别处理两种情况:一元二次方程有两个实根或一个实根和一个虚根。
阅读全文