📅  最后修改于: 2023-12-03 15:06:55.823000             🧑  作者: Mango
这是一个使用堆栈检查表达式(格式良好)中的平衡括号的Python程序。该程序可以检测一个表达式是否有平衡的括号,即左括号和右括号是否一一对应。
该程序使用堆栈来实现括号的匹配检查。具体的实现方法如下:
代码如下:
def is_balanced(expression):
stack = []
for char in expression:
if char in "([{":
stack.append(char)
elif char in ")]}":
if not stack:
return False
if char == ")" and stack[-1] == "(":
stack.pop()
elif char == "]" and stack[-1] == "[":
stack.pop()
elif char == "}" and stack[-1] == "{":
stack.pop()
else:
return False
return not stack
该程序可以作为一个函数使用,输入一个表达式,返回一个布尔值表示该表达式是否有平衡的括号。可以在其他程序中调用该函数来进行检查。
示例代码如下:
if is_balanced("((3 + 4) * 5) / (2 + 3)"):
print("The expression is balanced.")
else:
print("The expression is not balanced.")
输出:
The expression is balanced.