首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用stack类检查括号( "(",")","<",">“)是否平衡- python

使用stack类检查括号是否平衡的Python代码如下:

代码语言:python
代码运行次数:0
复制
class Stack:
    def __init__(self):
        self.stack = []

    def push(self, item):
        self.stack.append(item)

    def pop(self):
        if not self.is_empty():
            return self.stack.pop()
        return None

    def is_empty(self):
        return len(self.stack) == 0

    def peek(self):
        if not self.is_empty():
            return self.stack[-1]
        return None

def check_balanced_parentheses(expression):
    stack = Stack()
    opening_brackets = ["(", "<"]
    closing_brackets = [")", ">"]
    for char in expression:
        if char in opening_brackets:
            stack.push(char)
        elif char in closing_brackets:
            if stack.is_empty():
                return False
            top = stack.pop()
            if opening_brackets.index(top) != closing_brackets.index(char):
                return False
    return stack.is_empty()

expression = input("请输入一个包含括号的表达式:")
if check_balanced_parentheses(expression):
    print("括号平衡")
else:
    print("括号不平衡")

这段代码使用了一个自定义的Stack类来实现栈的功能。首先,我们定义了一个Stack类,其中包括了push、pop、is_empty和peek等方法。然后,我们定义了一个check_balanced_parentheses函数,用于检查括号是否平衡。在这个函数中,我们遍历表达式中的每个字符,如果是开括号,则将其压入栈中;如果是闭括号,则与栈顶元素进行匹配,如果匹配成功,则将栈顶元素弹出,否则返回False。最后,检查栈是否为空,如果为空则表示括号平衡,否则表示括号不平衡。

这段代码的应用场景是在编程中检查括号是否平衡,例如在编写编译器、解析器、表达式计算等程序时,经常需要检查括号的平衡性。

腾讯云提供了云计算相关的产品,其中与本问题相关的是云函数 SCF(Serverless Cloud Function)。云函数是一种无需管理服务器即可运行代码的计算服务,可以用于处理各种事件触发的任务。在本问题中,可以使用云函数来部署上述括号平衡检查的代码,并通过事件触发来执行检查操作。您可以通过访问腾讯云函数 SCF 的官方文档了解更多信息:腾讯云函数 SCF

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券