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

輸出

執行以上程式碼,將得到如下結果 −

([]{}() Not balanced

更新於:17-10-2019

828 位瀏覽

啟動您的 職業

完成該課程以獲得認證

入門
廣告