python算术表达式中圆括号是否匹配代码
时间: 2024-03-21 15:36:32 浏览: 209
设计一个算法判定一个算术表达式中的圆括号是否正确配....doc
当我们在Python中编写算术表达式时,确保圆括号的匹配是非常重要的。以下是一个简单的代码示例,用于检查圆括号是否匹配:
```python
def check_parentheses(expression):
stack = []
opening_brackets = ['(', '[', '{']
closing_brackets = [')', ']', '}']
for char in expression:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if len(stack) == 0:
return False
else:
top = stack.pop()
if opening_brackets.index(top) != closing_brackets.index(char):
return False
return len(stack) == 0
# 测试代码
expression1 = "(1 + 2) * 3"
expression2 = "((1 + 2) * 3"
expression3 = "(1 + 2) * 3)"
expression4 = "(1 + 2) * (3 - 4)"
print(check_parentheses(expression1)) # True
print(check_parentheses(expression2)) # False
print(check_parentheses(expression3)) # False
print(check_parentheses(expression4)) # True
```
上述代码中,我们使用了一个栈来检查圆括号的匹配情况。遍历表达式中的每个字符,如果是开括号,则将其压入栈中;如果是闭括号,则从栈中弹出一个字符,并检查它与当前闭括号是否匹配。如果匹配,则继续遍历;如果不匹配或栈为空,则表示圆括号不匹配。最后,检查栈是否为空,如果为空则表示圆括号匹配,否则不匹配。
阅读全文