用python执行数学公式的简单程序?

2024-05-17 09:02:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一名学生。几天前,我想我可以制作一个python程序来解数学公式,经过几分钟的编码后,我就这样结束了

class Formula:
    def __init__(self,formula):
        self.formula=formula
    def formulate(self,values):
        vals=values.split(";")
        for i in vals:
            reval=i.split('=')
            self.formula=self.formula.replace(reval[0],reval[1])
        return eval(self.formula)
sum=Formula('(a+b)/c')
print(sum.formulate('a=2;b=56;c=5'))

我怎样才能使这个程序运行得更好? 我可以用这个程序一步一步地解决问题吗?怎么做


Tags: self程序编码def数学公式学生classsplit
1条回答
网友
1楼 · 发布于 2024-05-17 09:02:05

这是一个有趣的问题。如果您想输出中间表达式,那么简单的字符串替换和调用Python求值将不起作用

您需要:

  1. 将表达式字符串解析为二叉树,叶节点为变量,其他节点为运算符
  2. 从根开始,使用树计算值。您可以进行深度隔离(DFS),一旦操作员节点获得值,您就可以输出带有树的新express字符串
  3. 要将树转换为表达式字符串,需要按中间顺序遍历二叉树
  4. 在前面的步骤中,还需要处理运算符优先级和括号

顺便说一下,我写了一篇simple arithmetic evaluation script是为了好玩。玩它,玩得开心

相关问题 更多 >