【问题标题】:how to make python do pemdas whose numbers come from an input [duplicate]如何让python做pemdas,其数字来自输入[重复]
【发布时间】:2012-11-01 19:52:38
【问题描述】:

可能重复:
I’m making a PEMDAS solver and don’t know what to write

我正在制作一个 pemdas 求解器程序,但我似乎无法让它求解用户写入程序的方程。我当前的代码是:

def pemdas():
     print("type in your pemdas problem.")
     prob = int(input())
     solve(prob)
     print(str(prob))
     input()
pemdas()

【问题讨论】:

标签: python math


【解决方案1】:

这实际上是一个比您想象的更难的问题,而且以目前的形式很难回答。所以这里有一些建议的方法。您应该研究这些并尝试其中的一个或多个,然后在遇到麻烦时再提出更具体的问题。

您最好的选择可能是使用shunting-yard algorithm 将表达式转换为postfix,然后使用堆栈来计算表达式。

另一种选择是使用PyParsing。 PyParsing 允许您为字符串指定解析规则并将函数分配给某些标记;这将让您在解析阶段计算结果。这将是一种更加抽象的方法。 (另外,在他们的示例页面上可能有一些这类事情的好例子。一定要好好看看!)

【讨论】:

  • +1 是 OP 的良好起点
猜你喜欢
  • 2017-06-11
  • 2014-05-14
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 2013-11-06
  • 2019-01-21
相关资源
最近更新 更多