如何将字符串公式转换为 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)5x5*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 调用:

  1. re.sub(r'(\d)([a-zA-Z])', r'*', string):在字母和数字之间插入*注意数字必须在字母之前
  2. re.sub(r'([a-zA-Z])\^(\d+)', r'pow(,)', string):将^转换为pow函数

如果您的要求比这更详尽,请更新您的问题。