在Python中阅读和运行数学表达式

在Python中阅读和运行数学表达式,第1张

在Python中阅读和运行数学表达式

由于python支持某些代数形式,因此您可以执行以下 *** 作:

eval("1 + 1")

但是,这允许输入执行环境中定义的任何内容:

eval("__import__('sys').exit(1)")

另外,如果您想支持python不支持的功能,则该方法将失败:

x³ + y² + c----------- = 0     z

代替执行此 *** 作,您可以使用ply实现标记器和解析器。评估“ 1 +1”之类的内容不应超过十行。

您还可以手动实现令牌生成器和解析器。了解有关LL和LR解析器的信息。在尝试进行此 *** 作之前,最好先学习使用解析器生成器。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存