编写一程序判断从键盘输入的子符串括号是否匹配。假设需判断的括号只有“(”,“)”,“[”,“]”四种。
时间: 2023-04-29 18:02:27 浏览: 70
可以使用栈来判断括号是否匹配。具体实现步骤如下:
1. 从键盘输入一个字符串,遍历字符串中的每个字符。
2. 如果字符是左括号(即“(”或“[”),则将其压入栈中。
3. 如果字符是右括号(即“)”或“]”),则从栈顶取出一个左括号进行匹配。
4. 如果栈顶没有左括号或者左右括号不匹配,则说明括号不匹配,程序结束。
5. 如果遍历完字符串后栈为空,则说明括号匹配,程序结束。
以下是示例代码:
```python
stack = [] # 定义一个栈
s = input("请输入一个字符串:") # 从键盘输入一个字符串
for c in s:
if c == '(' or c == '[':
stack.append(c) # 如果是左括号,则将其压入栈中
elif c == ')' or c == ']':
if len(stack) == : # 如果栈为空,则说明括号不匹配
print("括号不匹配")
break
elif c == ')' and stack[-1] == '(' or c == ']' and stack[-1] == '[':
stack.pop() # 如果左右括号匹配,则将栈顶元素弹出
else:
print("括号不匹配") # 如果左右括号不匹配,则说明括号不匹配
break
if len(stack) == :
print("括号匹配") # 如果遍历完字符串后栈为空,则说明括号匹配
else:
print("括号不匹配")
```
注意:以上代码仅供参考,实际应用中可能需要根据具体情况进行修改。