用 Python 检查括号是否匹配


很多时候我们都需要判断一个表达式是否通过其中存在的括号保持平衡。通过平衡我们指左括号都有一个对应的右括号,并且括号的顺序排列恰当。这在编写程序或大量使用括号的数学表达式中非常重要。本主题中,我们将介绍如何通过编程判断包含括号的表达式是否平衡。

通过消除

此方法中,我们找出最里面的括号并用 null 值替换。我们持续执行此操作直至替换掉所有括号对。如果仍然有括号留下,则表达式不平衡,否则表达式被认为是平衡的。

示例

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")

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

运行以上代码,将得到如下结果 −

([]{}() Not balanced

更新于:17-10-2019

828 位浏览

启动您的 职业

完成该课程以获得认证

入门
广告