Python一元二次方程求根


题目:一元二次方程求根
描述:编写程序,从键盘输入a、b、c的值,
算一元二次方程的根,并根据bb-4a*c的值大于0、等于0、小于0分别进行讨论。
要求:
输入格式: 依次用三个input分别输入a、b、c的值。
输出格式 输出计算结果,保留两位小数


a = eval(input('a:'))
while a==0:
    a = eval(input('a不能等于0,请重输a:'))

b, c = eval(input('b:')), eval(input('c:'))

delta = b * b - 4 * a * c

if delta>0:
    x1 = (-b + delta**0.5) / (2.0 * a)
    x2 = (-b - delta**0.5) / (2.0 * a)
    print(f'方程有两个实数根:{x1:.2f}{x2:.2f}')
elif delta==0:
    x = -b / (2.0 * a)
    print(f'方程有一个实数根:{x:.2f}')
else:
    print(f'方程有没有实数根')

复数范围:

a = eval(input('a:'))
while a==0:
    a = eval(input('a不能等于0,请重输a:'))

b, c = eval(input('b:')), eval(input('c:'))

delta = b * b - 4 * a * c

if delta>0:
    x1 = (-b + delta**0.5) / (2.0 * a)
    x2 = (-b - delta**0.5) / (2.0 * a)
    print(f'方程有两个实数根:{x1:.2f}和{x2:.2f}')
elif delta==0:
    x = -b / (2.0 * a)
    print(f'方程有一个实数根:{x:.2f}')
else:
    real = -b / (2.0 * a)
    imag = (-delta)**0.5 / (2.0 * a)
    print(f'方程有两个复数根{real:.2f}±{imag:.2f}i')