python3中括号的数学表达式语法验证器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3中括号的数学表达式语法验证器相关的知识,希望对你有一定的参考价值。

Soma example of validation parentheses in math expressions.

[{()}] - valid
[{){}] - wrong
  1. # Mathematical expression to validate
  2. code = "[(((a+b)*c+d-e)/(f+g)-(r+j)*(k+e))]";
  3.  
  4. parentheses_open = ['(', '{', '[']
  5. parentheses_close = [')', '}', ']']
  6.  
  7. def getParenthesesType(c):
  8. if c in parentheses_open:
  9. return parentheses_open.index(c)
  10. elif c in parentheses_close:
  11. return parentheses_close.index(c)
  12. else:
  13. return 0
  14.  
  15. def validateSyntax(x):
  16. size = len(x)
  17. s = []
  18. for i in range(0, size):
  19. if x[i] in parentheses_open:
  20. s.append(x[i])
  21. elif x[i] in parentheses_close:
  22. if len(s)==0:
  23. return 0
  24. if getParenthesesType(s.pop()) != getParenthesesType(x[i]):
  25. return 0
  26. if len(s)==0:
  27. return 1
  28. else:
  29. return 0
  30.  
  31. if validateSyntax(code):
  32. print("Valid")
  33. else:
  34. print("Wrong")

以上是关于python3中括号的数学表达式语法验证器的主要内容,如果未能解决你的问题,请参考以下文章

如何理解这段代码片段中的两对括号?

python3语法学习第五天--函数

markdown数学公式语法

python3------基础语法

pycharm中使用正则表达式批量添加print括号

10-Python3从入门到实战—基础之函数