如何将字符串公式转换为 Python 中的 javascript 等价物?
How to convert string formula into javascript equivalent in Python?
我输入的公式字符串如下:
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
为 5*x
如果要求只是解决 *
和 ^
运算符,那么此代码可能适合您:
>>> import re
>>> s = '5.02x^2 + 2x + 10'
>>> print ( re.sub(r'([a-zA-Z])\^(\d+)', r'pow(,)', re.sub(r'(\d)([a-zA-Z])', r'*', s)) )
5.02*pow(x,2) + 2*x + 10
我们在这里使用了 2 个 re.sub
调用:
re.sub(r'(\d)([a-zA-Z])', r'*', string)
:在字母和数字之间插入*
。 注意数字必须在字母之前
re.sub(r'([a-zA-Z])\^(\d+)', r'pow(,)', string)
:将^
转换为pow
函数
如果您的要求比这更详尽,请更新您的问题。
我输入的公式字符串如下:
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
为 5*x
如果要求只是解决 *
和 ^
运算符,那么此代码可能适合您:
>>> import re
>>> s = '5.02x^2 + 2x + 10'
>>> print ( re.sub(r'([a-zA-Z])\^(\d+)', r'pow(,)', re.sub(r'(\d)([a-zA-Z])', r'*', s)) )
5.02*pow(x,2) + 2*x + 10
我们在这里使用了 2 个 re.sub
调用:
re.sub(r'(\d)([a-zA-Z])', r'*', string)
:在字母和数字之间插入*
。 注意数字必须在字母之前re.sub(r'([a-zA-Z])\^(\d+)', r'pow(,)', string)
:将^
转换为pow
函数
如果您的要求比这更详尽,请更新您的问题。