gpt4 book ai didi

python - 如何在字符串中查找操作数和运算

转载 作者:行者123 更新时间:2023-12-02 02:53:16 28 4
gpt4 key购买 nike

所以我试图找出如何检测数学表达式中操作数和运算的数量

例如:1+2*9/2

我试图使用函数将操作数和操作分离成它们自己的形式,因为我们必须检查必须完成多少操作以及必须以正确的顺序(PEDMAS)进行操作。

我已经得到了方程并取出了所有空格,现在我必须找到方程中的操作数和运算的数量,然后使用 return 来查找用户给定数学表达式的答案。

有什么建议吗?

最佳答案

如果表达式不像您的示例那么简单,您可以使用 RPN - reverse polish notation

如果你的表达式非常简单(只有基本操作和小于 10 的值)并且你只需要计算就可以使用这样的东西,我猜:

ops = '+-*/'
operationsCount= sum(expr.count(op) for op in ops)
operandsCount = len(expr) - operationsCount

或者你可以使用这个:

def get_cnt(expr):
ops = '+-*/'
res = [expr]
for op in ops:
tmp = []
for x in expr:
tmp.extend(x.split(op))
res = tmp[:]
return len(res), sum(expr.count(op) for op in ops)

现在您有了许多运算符和操作数 - 并且可以很容易地在 ops/opd 上正确分割行并计算表达式。

关于python - 如何在字符串中查找操作数和运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283451/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com