一
题目:一元二次方程求根
描述:编写程序,从键盘输入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')