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

在python中解析表达式的算法?

在python中解析表达式的算法?

森栏 2021-03-17 17:14:19
我有下一个用于解析Python中表达式的算法:def parse(strinput):  for operator in ["+-", "*/"]:    depth = 0    for p in range(len(strinput) - 1, -1, -1):      if strinput[p] == ')': depth += 1      elif strinput[p] == '(': depth -= 1      elif depth==0 and strinput[p] in operator:        # strinput is a compound expression        return (strinput[p], parse(strinput[:p]), parse(strinput[p+1:]))  strinput = strinput.strip()  if strinput[0] == '(':    # strinput is a parenthesized expression?    return parse(strinput[1:-1])  # strinput is an atom!  return strinput(可以在这里找到:http : //news.ycombinator.com/item?id=284842)我很难理解它,因为我发现Python文档在这种情况下不是很有帮助。有人可以告诉我:这for operator in ["+-", "*/"]:是什么意思?我知道它的结构就像每个字符串变量一样,这是这2个元素的数组中的运算符,但是为什么它写成这样的[“ +-,* /”]?Python如何分隔它?在第一次迭代中,运算符是“ +-”吗?任何帮助都将非常重要。谢谢
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信