class Stack:
def __init__(self):
self.lst = [None for i in range(30)]
self.top = -1
def push(self, data):
if self.top == len(self.lst) - 1:
print("栈满了")
else:
self.top += 1
self.lst[self.top] = data
def pop(self):
if self.top == -1:
return None
else:
data = self.lst[self.top]
self.top -= 1
return data
str1 = input("请输入括号: ")
s = Stack()
for i in str1:
if i == '[' or i == '{' or i == '(':
s.push(i)
elif i == ']':
data = s.pop()
if data != '[':
print("异常")
break
elif i == '}':
data = s.pop()
if data != '{':
print("异常")
break
elif i == ')':
data = s.pop()
if data != '(':
print("异常")
break
if s.top != -1:
print("异常")
python:用栈实现符号匹配
最新推荐文章于 2022-06-30 10:03:19 发布