对于一元二次方程ax²+bx+c=0,输入其3个系数a,b,c,输出方程的实根。用python的多分支if编写代码
时间: 2024-09-26 12:07:28 浏览: 47
c代码-求ax平方+bx+c+=0
在一元二次方程求解中,当判别式D = b² - 4ac大于零时,有两个不同的实根;等于零时,有一个重根;小于零时,无实数根,但有两个复数根。下面是一个简单的Python代码示例,利用if-elif-else多分支结构计算并输出实根:
```python
def solve_quadratic(a, b, c):
D = b ** 2 - 4 * a * c
if D > 0:
root1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
root2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
print(f"两个不同的实根:{root1:.2f} 和 {root2:.2f}")
elif D == 0:
root = -b / (2 * a)
print(f"一个重根:{root:.2f}")
else: # D < 0,表示无实数根
real_part = -b / (2 * a)
imaginary_part = (2 * a) ** 0.5 / 2
print(f"无实数根,有两对共轭复数根:{real_part:.2f} ± {imaginary_part:.2f}i")
# 示例用法
solve_quadratic(1, -3, 2)
```
在这个代码里,我们首先计算判别式D,然后根据D的不同值来分别处理三种情况。
阅读全文