分支嵌套Python编程求解一元二次方程
时间: 2025-06-01 07:08:11 浏览: 20
### Python 分支嵌套实现一元二次方程求解
在 Python 中,可以通过嵌套的 `if-elif-else` 语句来实现对一元二次方程的求解。以下是一个完整的代码示例,涵盖了所有可能的情况:实根、虚根以及非二次方程的情况。
```python
import math
# 输入一元二次方程的系数 a, b, c
a, b, c = eval(input("请输入一元二次方程的三个系数 a, b, c(用逗号分隔): "))
# 判断是否为一元二次方程
if a == 0:
if b == 0:
if c == 0:
print("方程有无穷多个解。") # 特殊情况:0x + 0 = 0
else:
print("方程无解。") # 特殊情况:0x + c = 0 (c ≠ 0)
else:
# 一元一次方程 bx + c = 0
x = -c / b
print(f"一元一次方程的解为 x = {x:.2f}。")
else:
# 计算判别式 Δ = b^2 - 4ac
delta = b * b - 4 * a * c
if delta > 0:
# 有两个不同的实数根
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print(f"一元二次方程有两个不同的实数根:x1 = {x1:.2f}, x2 = {x2:.2f}。" [^2])
elif delta == 0:
# 有一个重根
x = -b / (2 * a)
print(f"一元二次方程有一个重根:x = {x:.2f}。" [^2])
else:
# 有两个共轭复数根
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-delta) / (2 * a)
print(f"一元二次方程有两个共轭复数根:x1 = {real_part:.2f} + {imaginary_part:.2f}i, x2 = {real_part:.2f} - {imaginary_part:.2f}i。" [^5])
```
#### 说明
1. **输入处理**:程序通过 `eval(input())` 接收用户输入的三个系数 `a`, `b`, 和 `c`。
2. **特殊情况判断**:
- 如果 `a == 0` 且 `b == 0`,则根据 `c` 的值判断是否有解或有无穷多解。
- 如果 `a == 0` 但 `b != 0`,则将问题转化为一元一次方程求解。
3. **判别式计算**:对于标准的一元二次方程,首先计算判别式 `Δ = b^2 - 4ac`。
- 当 `Δ > 0` 时,方程有两个不同的实数根[^2]。
- 当 `Δ == 0` 时,方程有一个重根[^2]。
- 当 `Δ < 0` 时,方程有两个共轭复数根[^5]。
#### 注意事项
- 程序中使用了 `math.sqrt()` 函数来计算平方根,因此需要导入 `math` 模块。
- 对于复数根的情况,程序直接输出实部和虚部的形式。
---
###
阅读全文
相关推荐


















