生成代码用户输入的任意表达式,假设表达式中含有1种括号:(),其嵌套的顺序随意。检验括号是否匹配,输出结果为匹配或不匹配。
时间: 2024-10-24 08:08:48 浏览: 23
为了编写一个检查括号匹配性的程序,你可以使用栈数据结构。当遍历输入的字符串时,遇到左括号('(')就将其压入栈中,遇到右括号(')')时,检查栈顶元素是否为对应的左括号,如果是则弹出,如果不匹配,则返回"不匹配"。如果遍历结束后栈为空,说明所有的括号都配对了,反之则不匹配。
以下是Python的一个简单示例:
```python
def is_bracket_matched(expression):
stack = []
bracket_pairs = {")": "(", "]": "[", "}": "{"}
for char in expression:
if char in bracket_pairs.values(): # 遇到左括号,压入栈
stack.append(char)
elif char in bracket_pairs.keys(): # 遇到右括号
if not stack or stack.pop() != bracket_pairs[char]: # 检查是否匹配
return "不匹配"
return "匹配" if not stack else "不匹配" # 如果栈为空,表示匹配;否则不匹配
expression = input("请输入包含括号的表达式:")
result = is_bracket_matched(expression)
print(f"括号匹配性:{result}")
```
阅读全文