用python写个程序,本关任务:编写程序,判断一个带小括号的表达式中中括号是否匹配。测试输入:(5+3)*2+((6+7-9)/2)*3+5 预期输出: 括号匹配 测试输入:(5+3)*(2+5 预期输出: 左括号多于右括号,不匹配! 测试输入:(5+3)*2) 预期输出: 右括号多于左括号,不匹配!
时间: 2023-06-03 19:01:41 浏览: 127
判断给定表达式中的括号是否匹配
5星 · 资源好评率100%
好的,这是一个编程问题。下面是 Python 代码实现:
```python
def bracket_match(s):
stack = []
for c in s:
if c == '(':
stack.append(c)
elif c == ')':
if len(stack) == 0 or stack[-1] != '(':
return "右括号多于左括号,不匹配!"
stack.pop()
if len(stack) != 0:
return "左括号多于右括号,不匹配!"
return "括号匹配"
print(bracket_match('(5 3)*2')) # 括号匹配
print(bracket_match('((6 7-9)/2)*3 5')) # 括号匹配
print(bracket_match('(5 3)*(2 5')) # 左括号多于右括号,不匹配!
print(bracket_match('(5 3)*2)')) # 右括号多于左括号,不匹配!
```
注意:这个程序只能处理小括号,不能处理中括号。
阅读全文