如何用 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249323.html