python求解一元二次方程的根,包括复数根
时间: 2023-07-25 07:48:40 浏览: 85
可以使用 `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求一元二次方程的复数解
可以使用cmath库来求解一元二次方程的复数解,代码如下:
import cmath
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 计算判别式
d = (b ** 2) - (4 * a * c)
# 计算两个根
sol1 = (-b - cmath.sqrt(d)) / (2 * a)
sol2 = (-b + cmath.sqrt(d)) / (2 * a)
print("方程的解为:{0} 和 {1}".format(sol1, sol2))
请用python编写求解一元二次方程的代码
当然可以,以下是用Python编写的一元二次方程求解代码:
```python
import cmath # 导入复数模块
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 计算根
d = (b ** 2) - (4 * a * c)
root1 = (-b + cmath.sqrt(d)) / (2 * a)
root2 = (-b - cmath.sqrt(d)) / (2 * a)
# 输出根
print("根1:", root1)
print("根2:", root2)
```
在代码中,我们使用 `input()` 函数来获取用户输入的系数 a、b、c 的值,然后根据一元二次方程的求根公式计算出根。需要注意的是,当判别式 D = b^2 - 4ac 小于 0 时,方程无实数解,需要使用复数模块 cmath 来求解。