python - 如何在Python中将字符串公式转换为等效的javascript?
问题描述
我输入了公式字符串,例如:
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(\1,\2)', re.sub(r'(\d)([a-zA-Z])', r'\1*\2', s)) )
5.02*pow(x,2) + 2*x + 10
我们在re.sub
这里使用 2 个调用:
re.sub(r'(\d)([a-zA-Z])', r'\1*\2', string)
:*
在字母和数字之间插入。请注意,数字必须在字母之前re.sub(r'([a-zA-Z])\^(\d+)', r'pow(\1,\2)', string)
: 转换^
为pow
函数
如果您的要求比这更详尽,请更新您的问题。
推荐阅读
- regex - 用于检查没有“=”的纯字母字符串的正则表达式
- c++ - 对具有特定结构的数据包缓冲区进行排序
- python-3.x - 如何分别处理海龟的点击和海龟的点击?
- c++ - 带有条件语句错误的 constexpr,使用 Stroustrup 示例
- python - 尽管 JSON 正确,但奇怪的 json.decoder.JSONDecodeError
- r - Ape:: 共识树和边缘长度丢失,有解决方案吗?
- python-3.x - 为什么有必要澄清我的变量在这种情况下是全局的?
- delphi - 如何从字节数组复制双字大小数据并在 Delphi 中转换为双字类型值?
- python - 如何检查 Pandas 中的一列中的数据是否存在于另一列中?
- azure - 向 Azure 服务总线发送消息以从 Angular 创建主题?