# 求一元二次方程a*x*x+b*x+c=0的二个根 ''' 【问题描述】从键盘分三行输入a,b,c的值,要求a不为0,求一元二次方程a*x*x+b*x+c=0的二个根。 依据Δ=b*b-4*a*c进行判断: 若Δ>0成立,输出两个实根x1,x2,浮点数保留2位小数(两个实根,大数是x1,小的数是x2)。 若Δ<0,输出两个复数根(real+imagj)、(real-imagj)。提示real和imag用round(x,2)函数进行四舍五入,用complex(real,imag)获得复数。虚部为正数是x1,虚部为负数是x2 若Δ=0,输出2个相等的实根,浮点数保留2位小数
时间: 2024-03-23 18:40:13 浏览: 208
求一元二次方程的根
以下是Python代码实现:
```
import math
a = float(input())
b = float(input())
c = float(input())
delta = b * b - 4 * a * c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print(round(x1, 2), round(x2, 2))
elif delta < 0:
real = round(-b / (2 * a), 2)
imag = round(math.sqrt(-delta) / (2 * a), 2)
x1 = complex(real, imag)
x2 = complex(real, -imag)
print(x1, x2)
else:
x = -b / (2 * a)
print(round(x, 2), round(x, 2))
```
注意,以上代码只是实现了一元二次方程的求解,如果需要完整的交互式对话,需要结合其他技术(如自然语言处理、对话管理等)进行实现。
阅读全文