python计算一元二次方程
时间: 2023-10-25 15:11:25 浏览: 186
一元二次方程的一般形式为:ax^2 + bx + c = 0,其中a、b、c为已知数且a不等于0。
可以使用Python中的math库来计算一元二次方程的根。代码如下:
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入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)
```
在运行程序时,分别输入a、b、c的值即可得到方程的根。
相关问题
用Python计算一元二次方程方程
在Python中,我们可以使用数学库`math`或者直接编写算法来计算一元二次方程。一元二次方程通常有形式 `ax^2 + bx + c = 0`,其中a、b、c是常数且`a ≠ 0`。下面是一个简单的函数来求解根:
```python
import math
def quadratic_solver(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)
return (root1, root2)
elif discriminant == 0:
# 只有一个实根(即重根)
root = -b / (2 * a)
return (root,)
else:
# 两个复根(共轭复数)
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
return (real_part + imaginary_part * 1j, real_part - imaginary_part * 1j)
# 使用示例
coefficients = float(input("请输入一元二次方程的系数 a, b, c:"))
a, b, c = coefficients
roots = quadratic_solver(a, b, c)
print(f"方程 {a}x^2 + {b}x + {c} 的解为:{roots}")
python计算一元三次方程的代码
以下是计算一元三次方程的Python代码:
```python
import math
a = float(input("请输入一次项系数a:"))
b = float(input("请输入二次项系数b:"))
c = float(input("请输入三次项系数c:"))
d = float(input("请输入常数项d:"))
if a == 0:
print("a不能为0")
else:
delta1 = b * b - 3 * a * c
delta2 = 2 * b * b * b - 9 * a * b * c + 27 * a * a * d
C = (delta2 + math.sqrt(delta2 * delta2 - 4 * delta1 * delta1 * delta1)) / 2
u = math.pow(C, 1 / 3) if C >= 0 else -math.pow(-C, 1 / 3)
if delta1 > 0:
x1 = (-b + u + math.sqrt(delta1)) / (3 * a)
x2 = (-b + u - math.sqrt(delta1)) / (3 * a)
x3 = (-b - 2 * u) / (3 * a)
print("方程的三个实根分别为:", x1, x2, x3)
elif delta1 == 0:
x1 = (-b + u) / (3 * a)
x2 = (-b - u) / (6 * a)
print("方程的一个实根和一个二重实根分别为:", x1, x2)
else:
alpha = (-delta1 + math.sqrt(delta1 * delta1 - 4 * delta2)) / 2
beta = (-delta1 - math.sqrt(delta1 * delta1 - 4 * delta2)) / 2
x1 = (-b + u + math.sqrt(alpha)) / (3 * a)
x2 = (-b + u - math.sqrt(alpha) + math.sqrt(beta)) / (3 * a)
x3 = (-b + u - math.sqrt(alpha) - math.sqrt(beta)) / (3 * a)
print("方程的一个实根和两个共轭复根分别为:")
print("实根为:", x1)
print("共轭复根为:", x2, x3)
```
在运行代码时,会提示用户输入一次项系数、二次项系数、三次项系数和常数项,然后输出方程的根。如果方程有一个实根和两个共轭复根,则输出实根和两个共轭复根。
阅读全文