如何用 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