如何 post 带括号的术语 PHP 到 Sympy
How to post a term with brackets with PHP to Sympy
我想 post 像
这样的词
5+(x+4)
从 PHP 通过 Python 到 Sympy 以简化表达式。
为此,我使用以下代码:
PHP:
$param="5+(x+4)";
$command="python $PathToPySkript $param"; //# '$param2' '$param3'";
$buffer='';
ob_start(); // prevent outputting till you are done
passthru($command);
$buffer=ob_get_contents();
ob_end_clean();
年:
import sys
from sympy import *
from sympy.parsing.sympy_parser import *
from sympy.solvers import solve
from sympy import Symbol
x = Symbol('x')
transformations=(standard_transformations + (implicit_multiplication_application,) + (function_exponentiation,)+(convert_xor,))
print(latex(parse_expr(sys.argv[1], transformations=transformations)))
我能够 post 像
这样的条款
5+x+4
没有任何问题,检索解决方案并将其显示在我的网站上。
但是对于任何带有方括号的术语,例如 ( 或 { 或 [,处理会抛出错误,否则我将不会在 PHP 中得到任何通知。
我也尝试将括号加倍,例如 (( 或 {{ 或 [[ 但这不会有任何效果。
有没有人知道如何为我的问题找到解决方案。
好的,我自己找到了解决办法!
问题是我设置了这样的字符串:
PHP:
$param="5+(x+4)";
我将其更改为:
$param="'5+(x+4)'";
现在它按预期工作了...
我想 post 像
这样的词5+(x+4)
从 PHP 通过 Python 到 Sympy 以简化表达式。
为此,我使用以下代码: PHP:
$param="5+(x+4)";
$command="python $PathToPySkript $param"; //# '$param2' '$param3'";
$buffer='';
ob_start(); // prevent outputting till you are done
passthru($command);
$buffer=ob_get_contents();
ob_end_clean();
年:
import sys
from sympy import *
from sympy.parsing.sympy_parser import *
from sympy.solvers import solve
from sympy import Symbol
x = Symbol('x')
transformations=(standard_transformations + (implicit_multiplication_application,) + (function_exponentiation,)+(convert_xor,))
print(latex(parse_expr(sys.argv[1], transformations=transformations)))
我能够 post 像
这样的条款5+x+4
没有任何问题,检索解决方案并将其显示在我的网站上。
但是对于任何带有方括号的术语,例如 ( 或 { 或 [,处理会抛出错误,否则我将不会在 PHP 中得到任何通知。
我也尝试将括号加倍,例如 (( 或 {{ 或 [[ 但这不会有任何效果。
有没有人知道如何为我的问题找到解决方案。
好的,我自己找到了解决办法! 问题是我设置了这样的字符串:
PHP:
$param="5+(x+4)";
我将其更改为:
$param="'5+(x+4)'";
现在它按预期工作了...