Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra dấu ngoặc cân bằng trong Python

Nhiều khi chúng ta được yêu cầu phải tìm xem một biểu thức có cân bằng so với các dấu ngoặc có trong nó hay không. Bằng cách cân bằng, chúng tôi có nghĩa là đối với mỗi ngoặc trái có một ngoặc phải tương ứng và trình tự các ngoặc được sắp xếp đúng. Điều này có tầm quan trọng trong việc viết một chương trình hoặc một biểu thức toán học trong đó dấu ngoặc được sử dụng nhiều. Trong chủ đề này, chúng ta sẽ xem cách lập trình để tìm hiểu xem một biểu thức chứa dấu ngoặc vuông có cân bằng hay không.

Thông qua loại bỏ

Trong phương pháp này, chúng tôi tìm ra cặp dấu ngoặc trong cùng và thay thế chúng bằng giá trị null. Chúng tôi tiếp tục làm điều này cho đến khi tất cả các cặp dấu ngoặc được thay thế. Nếu vẫn còn một số dấu ngoặc nhọn thì biểu thức không được cân bằng nếu không thì biểu thức được tìm thấy là cân bằng.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

([]{}() Not balanced