(3)从键盘输入a、b、c的值,作为一个一元二次方程ax²+bx+c=0的3个参数。判断这 个一元二次方程是否有实根,如果有实根,则输出这个方程的实根。 程序运行后期望结果如下所示: 分别输入一元二次方程的三个参数a、b、c,中间用逗号间隔:1,2,1 这个方程没有实数解 或 分别输入一元二次方程的三个参数 a、b、c,中间用逗号间隔:1,-2,1 这个方程有两个不相等的实根:rl=1.0,r2=1.0 或 分别输入一元二次方程的三个参数a、b、c,中间用逗号间隔:1,-3,2 这个方程有两个不相等的实根:r1=2.0,r2=1.0,用Python
时间: 2023-05-27 19:02:05 浏览: 115
来实现该程序:
a, b, c = input("分别输入一元二次方程的三个参数 a、b、c,中间用逗号间隔:").split(",")
a, b, c = float(a), float(b), float(c)
d = b * b - 4 * a * c # 计算判别式
if d < 0:
print("这个方程没有实数解")
elif d == 0:
x = -b / (2 * a)
print("这个方程有唯一实根:x =", x)
else:
x1 = (-b + (d ** 0.5)) / (2 * a)
x2 = (-b - (d ** 0.5)) / (2 * a)
print("这个方程有两个不相等的实根:x1 =", x1, ",x2 =", x2)
相关问题
输入整数a,b,c 求解一元二次方程ax²+bx+c=0
解决一元二次方程 \( ax^2 + bx + c = 0 \) 的过程通常涉及求根公式,即:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
其中 a、b 和 c 是给定的系数,\( \sqrt{} \) 表示平方根。这个公式适用于 \( a \neq 0 \),因为如果 a 等于 0,那么方程就不再是二次方程,而是一次或常数方程了。
如果你想编写程序来计算这个方程的解,你需要考虑如何处理可能的复数根(当判别式 \( b^2 - 4ac \) 小于 0 时),以及当输入的 a、b 或 c 为零的情况。下面是一个简单的 Python 示例:
```python
def solve_quadratic_equation(a, b, c):
discriminant = b ** 2 - 4 * a * c
if a == 0:
raise ValueError("方程不是二次方程")
# 实数根
if discriminant >= 0:
root1 = (-b + discriminant**0.5) / (2 * a)
root2 = (-b - discriminant**0.5) / (2 * a)
return [root1, root2]
# 复数根
real_part = -b / (2 * a)
imaginary_part = discriminant**0.5 / (2 * a)
return [real_part + imaginary_part * 1j, real_part - imaginary_part * 1j]
# 使用示例
try:
roots = solve_quadratic_equation(1, 2, 1)
print(f"实数根: {roots}")
except ValueError as e:
print(e)
```
求一元二次方程 ax²+bx+c =0的根python
在Python中,我们可以使用math库或者数值计算库如numpy来求解一元二次方程ax² + bx + c = 0的根。这里我将展示如何使用`cmath`库,因为它支持复数解:
```python
import cmath
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 根据判别式的值找出两个解
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return root1, root2
elif discriminant == 0:
root = -b / (2 * a)
return root, root
else: # 当判别式小于0,有两个共轭复数根
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
root1 = complex(real_part, imaginary_part)
root2 = complex(real_part, -imaginary_part)
return root1, root2
# 使用示例
a, b, c = 1, -3, 2
root1, root2 = solve_quadratic_equation(a, b, c)
print(f"一元二次方程 {a}x^2 + {b}x + {c} 的根是 {root1} 和 {root2}")
阅读全文