python假设一个表达式有英文字母(小写)、运算符(+,—,∗,/+,—,∗,/)和左右小(圆)括号构成。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出”YES”;否则输出“NO”
时间: 2024-05-08 21:15:17 浏览: 45
检查一个算术表达式中的括号是否正确匹配。
可以使用栈来解决括号匹配的问题。遍历表达式,当遇到左括号时,将其压入栈中;当遇到右括号时,弹出栈顶元素,判断是否与当前右括号匹配,如果不匹配或者栈为空,则说明括号不匹配,输出"NO";如果遍历完表达式后栈为空,则说明括号匹配,输出"YES"。
以下是Python代码实现:
```python
def check_brackets(expr):
stack = []
for char in expr:
if char == '(':
stack.append(char)
elif char == ')':
if not stack or stack.pop() != '(':
return "NO"
if stack:
return "NO"
return "YES"
expr = input("请输入表达式:")
print(check_brackets(expr))
```
阅读全文