用Python来编一个求一元二次方程的根的程序
问题描述:
一元二次方程ax2+bx+c=0(注:2为幂指数),a、b、c的值由用户在三行中输入,根据用户输入的数值,求解方程的实数解:
(1)如果a值为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出:Data error
(2)如果方程无实数解,则输出:该方程无实数解
(3)如果方程有两个相同的实数解,输出一个解
(4)如果方程有两个不同实数解,分两行按从大到小输出方程的两个解,保留两位小数。
答
a=int(input())
b=int(input())
c=int(input())
if a==0:
if b==0:
print('Data error')
else:
print('{:.2f}'.format(-c/b))
else:
d=b*b-4*a*c
if d<0:
print('该方程无实数解')
elif d==0:
print('{:.2f}'.format(-b/(2*a)))
elif d>0:
x1=(-b+math.sqrt(d))/(2*a)
x2=(-b-math.sqrt(d))/(2*a)
print('{:.2f}'.format(x1))
print('{:.2f}'.format(x2))
有帮助请采纳
答
a = float(input("输入a").strip())
b = float(input("输入b").strip())
c = float(input("输入c").strip())
x1 = 0 # 方程组的解1
x2 = 0 # 方程组的解2
if a == 0:
# 根据b的值,来判定是否是DataError
if b == 0:
print("Data Error")
else:
print("解为: {:.2f}".format(-c/b))
else:
d = b * b - 4 * a * c
if d < 0:
print("该方程无实数解")
elif d == 0:
print("方程组有相同的实数解:{:.2f}".format(-b/(2*a)))
else:
x1 = (-b + d ** 0.5 / (2 * a))
x2 = (-b - d ** 0.5 / (2 * a))
print("方程有两个不同的实数解:x1 = {},x2 = {}".format(max([x1,x2]),min([x1,x2])))
结果: