您的位置:

Python 程序:求解一个二次方程

如何用 python 解一个二次方程?

在这个 python 程序示例中,我们求解了一个二次方程 ax2 + bx + c = 0 ,其中 a、b 和 c 是用户输入。而 x 是未知的我们要找出 a 不等于零的地方。如果 a 等于零,那么就不是二次方程;这将是一个线性方程。

解二次方程,我们用公式 x= (-b + sqrt(b2 - 4ac))/2a 或 x= (-b - sqrt(b2 - 4ac))/2a 。这里 b2 - 4ac 叫做判别式。而“ a ”、“ b ”、“ c 被称为系数。

在这个针对初学者的 python 程序中,我们要导入的复数math.cmath是 python 编程语言中的一个内置模块来做复数的数学运算。cmath 也接受 int、float 和复数。cmath 模块方法返回一个复数值。如果返回值是实数,它的虚部为零。

在这个简单的 python 程序中,我们接受 a、b、c 的值,并使用 python 中的浮点数据类型将其转换为浮点。现在我们必须使用公式 (b2) - (4ac) 找出判别式 d ,并应用该判别式计算 sol1 和 sol2** 。最后,打印结果。

所以我们将一步一步地分解这段 python 代码。

算法

STEP 1: 导入cmath 模块用复数做计算。

STEP 2: 使用 python 语言的输入函数接受 a、b 和 c 的系数值,并使用 float 数据类型将该字符串转换为 float。

STEP 3: 现在,我们必须使用等式计算判别式“ d ”。 b2 - 4ac** 我们必须在主二次方程中应用这个判别式。

STEP 4: 现在,我们找到二次方程 *(-b-cmath.sqrt(d))/(2a) 的解,并将结果保存在变量“ sol1 和 sol2** 中。

步骤 5: 使用格式化方法打印结果。

format 方法用于格式化结果并将该值插入格式占位符。这里在格式方法中,我们使用 {} 括号作为占位符。方法返回字符串值。

Python 源代码

import cmath  
a = float(input('Enter the value a: '))  
b = float(input('Enter the value b: '))  
c = float(input('Enter the value c: '))  

d = (b**2) - (4*a*c)     # calculating the discriminant

sol1 = (-b-cmath.sqrt(d))/(2*a)    # Applying the discriminant in the quadratic formula
sol2 = (-b+cmath.sqrt(d))/(2*a)  
print('The result is {0} and {1}'.format(sol1,sol2))    # print the result using the format method

输出

Enter the value a: 8
Enter the value a: 16
Enter the value a: 8

The result is  -1 + 0j and -1 + 0j