很多时候,我们需要查找表达式是否相对于括号括起来。所谓平衡,是指每个左括号都有一个对应的右括号,并且括号的顺序是正确排序的。这对于编写使用括号的程序或数学表达式非常重要。在本主题中,我们将看到如何以编程方式找出包含方括号的表达式是否平衡。
在此方法中,我们找出最里面的括号对并将其替换为空值。我们一直这样做,直到所有成对的括号都被替换为止。如果还剩下一些括号,则表达式将不平衡,否则将发现表达式已平衡。
def brackets(expression): all_br = ['()', '{}', '[]'] while any(x in expression for x in all_br): for br in all_br: expression = expression.replace(br, '') return not expression # calling the function input_string = "([]{}()" if brackets(input_string): print(input_string,"balanced") else: print(input_string,"Not balanced")
输出结果
运行上面的代码给我们以下结果-
([]{}() Not balanced