一元二次方程求解器 - 在线计算方程根
一元二次方程求根
本程序可以求解一元二次方程 ax² + bx + c = 0 的实数根,其中 a、b、c 由用户输入。
输入格式:
输入三行数据,每行输入一个实数,使用 input() 函数读取。
输出格式:
根据方程的解情况输出相应结果:
- 若 a = 0 且 b = 0: 输出 'Data error'。
- 若 a = 0 且 b ≠ 0: 输出 '方程有且仅有一个解:{解}'。
- 若 a ≠ 0 且 Δ < 0: 输出 '该方程无实数解'。
- 若 a ≠ 0 且 Δ = 0: 输出 '方程有且仅有一个解:{解}'。
- 若 a ≠ 0 且 Δ > 0: 输出 '{解1}&{解2}',其中解1 和解2 按从大到小的顺序输出,用符号 '&' 分隔。
示例代码:
a = float(input())
b = float(input())
c = float(input())
if a == 0:
if b == 0:
print('Data error')
else:
print('方程有且仅有一个解:{}'.format(-c/b))
else:
delta = b**2 - 4*a*c
if delta < 0:
print('该方程无实数解')
elif delta == 0:
print('方程有且仅有一个解:{}'.format(-b/(2*a)))
else:
x1 = (-b + delta**0.5)/(2*a)
x2 = (-b - delta**0.5)/(2*a)
if x1 > x2:
x1, x2 = x2, x1
print('{:.2f}&{:.2f}'.format(x2, x1))
注意:
- 程序中的
input()函数默认没有提示信息。 - 输出结果中使用字符串格式化方法
format()进行格式化。 - 解的输出保留两位小数。
- 程序中使用了
delta来表示方程的判别式。
原文地址: http://www.cveoy.top/t/topic/mthe 著作权归作者所有。请勿转载和采集!