如何检查平衡分隔符的语言

时间:2012-04-11 19:08:24

标签: python

我想使用Python检测字符串中的分隔符。搜索了一下后,我知道我需要导入/使用csv模块,但它适用于以逗号分隔的文件或单词。如何更改它以检测任何自定义分隔符?需要一些帮助。我已附上以下问题。

我的作业问题是:

  

编写一个函数来确定文本是否具有平衡分隔符。有效分隔符对是(),[],{}和<>。它们可能是嵌套的。此外,确定文本分隔符'和“匹配正确。

1 个答案:

答案 0 :(得分:1)

csv不会帮助你。

这个问题要求你创建一个能够检测平衡分隔符的函数 - 即对于每个开口分隔符,都有一个相应的结束分隔符。

这是一个经典问题,因为它可以使用无上下文语法来指定,它等同于一个状态机,其边缘对应于下一个输入,并且节点指定堆栈上的操作。

listdeque类可以构建出色的堆栈。

您的代码应如下所示:

def balancedq(input):
    stack = []

    for char in input:
        #implement your logic here.
        if sometest:
           stack.append(char) #push
        elif someothertest:
           val = stack.pop()
           #maybe some test here?