Python编写 由用户输入一元二次方程的三个系数,计算得出方程的根。注意完整考虑不是一元二次方程,以及是一元二次方程但无实数解,有两个相同的解和两个不同的解等各种情况。
时间: 2024-10-16 17:04:20 浏览: 190
Python实现求解一元二次方程的方法示例
5星 · 资源好评率100%
在Python中,我们可以创建一个函数来处理用户输入的一元二次方程,例如ax^2 + bx + c = 0。首先,我们需要获取a、b和c这三个系数,然后计算判别式Δ = b^2 - 4ac,以便确定方程的根类型。
```python
import math
def quadratic_equation():
a = float(input("请输入一元二次方程的a系数:"))
b = float(input("请输入一元二次方程的b系数:"))
c = float(input("请输入一元二次方程的c系数:"))
# 计算判别式
delta = b ** 2 - 4 * a * c
if a == 0: # 如果a为零,这不是一个二次方程
print("这不是一个一元二次方程。")
else:
# 计算并打印根
root1 = (-b + math.sqrt(delta)) / (2 * a)
root2 = (-b - math.sqrt(delta)) / (2 * a)
# 根据判别式的值判断根的情况
if delta > 0: # 有两个不同的实数解
print(f"方程的解为:{root1:.2f} 和 {root2:.2f}")
elif delta == 0: # 有一个实数解,即重根
print(f"方程的唯一解为:{root1:.2f} 或 {root2:.2f}")
else: # 无实数解,复数根
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-delta) / (2 * a)
print(f"方程无实数解,有共轭复数根:{real_part:.2f} ± {imaginary_part:.2f}i")
quadratic_equation()
```
阅读全文