Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 求字符串中x的系数_Python_String Parsing_Algebra - Fatal编程技术网

Python 求字符串中x的系数

Python 求字符串中x的系数,python,string-parsing,algebra,Python,String Parsing,Algebra,我想做一个代数解算器,所以我必须在表达式中找到x的系数。目前这是我必须输入的代码: equation = input("Enter equation: ") LHS, RHS = equation.split("=")[0], equation.split("=")[1] ##Remove whitespaces LHS, RHS = LHS.replace(" ",""), RHS.replace(" ","") 现在我想得到表达式LHS和RHS中x的系数,我该怎么做呢? 而且,系数可以不

我想做一个代数解算器,所以我必须在表达式中找到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()函数来完成,但我不知道如何应用它


注意:我想用普通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()

你能举一个有效输入和预期输出的例子吗?@Thaer a如果输入是“2-(2+4*5)x+3x”,那么输出将是[“2-(2+4*5)”,“3”]或任何其他包含系数的变量。是的,x前面会有代数表达式,因此这种方法在没有额外处理的情况下无法工作。使用模块Poly如何?我编辑我的解决方案,查看它。:)