问题描述
我输入的公式字符串如下:
cons
,我希望输出字符串像这样:
y = 5.02x^2 + 2x + 10
到目前为止,我一直尝试将其匹配为二次方程:
y = 5.02*pow(x,2) + 2*x +10
但是我不知道如何用import re
strn = input ("Enter formula :")
x = re.sub(r'(-?\d+)x\^2 ([+-]\d+)x ([+-]\d+)','Do not kNow what to put here',strn)
print(x)
或^
替换为pow(a,b)
之类的5x
符号
解决方法
如果仅需要解决const divs = document.querySelectorAll('div');
if (Array.from(divs).every((el)=> el.style.display == "block") {
// ...
}
和*
运算符,那么此代码可能对您有用:
^
我们在这里使用2个>>> import re
>>> s = '5.02x^2 + 2x + 10'
>>> print ( re.sub(r'([a-zA-Z])\^(\d+)',r'pow(\1,\2)',re.sub(r'(\d)([a-zA-Z])',r'\1*\2',s)) )
5.02*pow(x,2) + 2*x + 10
通话:
-
re.sub
:在字母和数字之间插入re.sub(r'(\d)([a-zA-Z])',string)
。 请注意,数字必须在字母之前 -
*
:将re.sub(r'([a-zA-Z])\^(\d+)',string)
转换为^
函数
如果您的要求比这更详尽,请更新您的问题。