class Stack:
def __init__(self):
self.stack = []
def push(self, element):
self.stack.append(element)
def pop(self):
if len(self.stack) > 0:
self.stack.pop()
else:
return None
def get_top(self):
if len(self.stack) > 0:
return self.stack[-1]
else:
return None
def is_empty(self):
return len(self.stack) == 0
def brach_match(str1):
"""
判断括号是否匹配问题
:param str1: 字符串,即要判断是括号
:return: 是否匹配
"""
match = {')': '(', '}': '{', ']': '['}
for ch in str1:
if ch in {'(', '[', '{'}:
stack.push(ch)
else:
if stack.is_empty():
return False
elif stack.get_top() == match[ch]:
stack.pop()
else:
return False
if stack.is_empty():
return True
else:
return False
if __name__ == '__main__':
stack = Stack()
s1=input("请输入字符串:")
s2=input("请输入字符串:")
print(brach_match(s1))
print(brach_match(s2))