用栈判断表达式中的括号是否匹配,请给出一个可运行的代码
时间: 2023-06-03 21:07:38 浏览: 65
好的,以下是使用栈判断表达式中的括号是否匹配的 Python 代码:
```python
def is_parentheses_matched(expression):
stack = []
for char in expression:
if char in "({[":
stack.append(char)
elif char in ")}]":
if not stack:
return False
if (char == ")" and stack[-1] == "(") \
or (char == "]" and stack[-1] == "[") \
or (char == "}" and stack[-1] == "{"):
stack.pop()
else:
return False
return not stack
# 测试
print(is_parentheses_matched("((5+3)*2+1)")) # True
print(is_parentheses_matched("()[]{}}")) # False
```
请注意,这只是一个简单的示例代码,并没有考虑到表达式中可能包含其他字符,比如运算符、数字等等。在实际情况中,您需要根据具体的需求来修改和完善代码。