Python 程序求解二次方程

2024 年 9 月 5 日 | 阅读 3 分钟

二次方程

二次方程是由拉丁语“quadrates”一词衍生而来,意思是平方。它是一种特殊类型的方程,形式为

ax2+bx+c=0

这里,“x”是您需要找到的未知数,“a”,“b”,“c”指定数字,使得“a”不等于0。如果a = 0,那么方程变成线性方程,不再是二次方程。

在等式中,a,b和c称为系数。

让我们举一个例子来解决二次方程 8x2 + 16x + 8 = 0

请看这个例子

输出

Enter a: 8
Enter b: 5
Enter c: 9
The solution are (-0.3125-1.0135796712641785j) and (-0.3125+1.0135796712641785j)

解释 -

在第一行中,我们导入了 cmath 模块,并定义了三个变量 a,b 和 c,它们从用户那里获取输入。然后,我们使用公式计算判别式。使用 cmath.sqrt() 方法,我们计算了两个解并打印了结果。

第二种方法

我们可以使用直接公式获得二次方程的解。让我们理解以下示例。

上面的公式包含以下情况。

  • 如果 b2 < 4ac,则根是复数(不是实数)。例如 - x2 + x + 1,根是 -0.5 + i1.73205 和 +0.5 - i1.73205。
  • 如果 b2 == 4ac,那么两个根都相同。例如 - x2 + x + 1,根是 -0.5 + i1.73205 和 +0.5 - i1.73205。
  • 如果 b2 > 4ac,那么根是实数并且不同。例如 - x2 - 7 x - 12,根是 3 和 4。

示例 -

输出

Enter a:7
Enter b:5
Enter c:2
Complex Roots
-0.35714285714285715  + i 5.5677643628300215
-0.35714285714285715  - i 5.5677643628300215

解释 -

在上面的代码中,我们导入了 math 模块并定义了计算判别式的公式。然后我们定义了 findRoots 函数,它接受三个整数值作为参数。然后我们使用 if-elif-else 语句检查了根。