用python求一元二次方程的复数解
时间: 2023-05-15 20:08:08 浏览: 319
可以使用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
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)
```
输入三个系数 a、b、c,然后使用 cmath 模块计算根,并输出结果。注意:如果 D=b^2-4ac 小于 0,则会得到复数根。
python一元二次方程求复数根
在Python中,如果你需要求解一元二次方程(如 ax^2 + bx + c = 0),并可能得到复数根,你可以利用cmath模块,它提供了复数运算的功能。这里是一个简单的示例:
```python
import cmath
def quadratic_equation(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 实部和虚部
real_root = (-b) / (2*a)
imaginary_root = cmath.sqrt(-discriminant) / (2*a)
if discriminant > 0:
roots = (real_root, real_root) # 两个实根
elif discriminant == 0:
roots = (real_root, ) # 单一实根
else: # 两个共轭复根
roots = (real_root, imaginary_root)
return roots
# 示例
a = 1
b = -3
c = 2
result = quadratic_equation(a, b, c)
print("一元二次方程 {}x^2 + {}x + {} 的根为:".format(a, b, c), result)
```
在这个函数里,如果判别式大于零,有两个不同的实数根;等于零时有一个实数根;小于零时,会返回一对共轭复数。
阅读全文