为了账号安全,请及时绑定邮箱和手机立即绑定

用Python解析方程式

用Python解析方程式

德玛西亚99 2019-08-08 15:34:03
用Python解析方程式我如何(轻松地)获取一个字符串,例如"sin(x)*x^2"用户可能在运行时输入的字符串,并生成一个可以评估任何值的Python函数x?
查看完整描述

3 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

如果使用Python表示法,Python自己的内部编译器可以解析它。

如果你稍微改变符号,你会更快乐。

import compiler
eq= "sin(x)*x**2"ast= compiler.parse( eq )

您将获得一个可以使用的抽象语法树。


查看完整回答
反对 回复 2019-08-08
?
哔哔one

TA贡献1854条经验 获得超8个赞

你可以使用Python parser

import parser
formula = "sin(x)*x**2"code = parser.expr(formula).compile()from math import sin
x = 10print eval(code)

它表现得比纯粹好eval,当然也避免了代码注入!


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 602 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号