一元二次方程求根

本程序可以求解一元二次方程 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录