簡體   English   中英

在字符串中查找 x 的系數

[英]Finding coefficients of x in a string

我正在嘗試制作一個代數求解器,所以我必須在表達式中找到 x 的系數。 目前這是我必須輸入的代碼:

equation = input("Enter equation: ")
LHS, RHS = equation.split("=")[0], equation.split("=")[1]

##Remove whitespaces
LHS, RHS = LHS.replace(" ",""), RHS.replace(" ","")

現在我想得到表達式 LHS 和 RHS 中 x 的系數,我該怎么做呢? 而且,系數可能不僅僅是數字,而且可能是 (2*3+4)x 的形式。 我認為這可以使用 eval() function 來完成,但我不知道如何應用它。

注意:我想用普通的 python 做到這一點,而不使用任何非內置模塊。

如果它只有一個變量,因此只有一個系數,您可以將相應的變量/站點除以 x。 以你為例:

(2*3+4)x

除以 x 得到系數:

(2*3.4)

如果這不是您想要采用的方法,您還可以將表達式轉換為字符串並排除“x”,如下所示:

coefficientLHS = LHS.replace("x", "")

但是,您應該謹慎使用,因為您的變量前面可能有代數表達式,因此建議使用正則表達式。

另一種方法是使用模塊Poly

x = symbols("x")
coefLHS = Poly(LHS, x)
coefLHS.coeffs()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM