如何检查字符串是否包含匹配的括号 ()

小狗

编辑:忘记提及工作簿中的原始问题,即:编写一个函数,该函数接受一个字符串并检查它是否包含匹配的括号 ie ()。如果是,则返回 True,否则返回 False。

我正在尝试制作一个小程序来检查字符串是否有匹配的括号。我的工作簿指出“考虑使用一个变量来保持未闭合括号的数量:+1 表示左括号,-1 表示结束括号。使用它来检查您在打开一个之前没有关闭一个,并且所有这些都已被关闭最后关闭”。这应该主要用于循环和字符串方法。

doctest 应该证明我的意思:

def match_brackets(s):
    """
    >>> match_brackets('(7 - 4) * (3 + 2)')
    True
    >>> match_brackets('((2 + 5) / (13 +12)')
    False
    """

这是我迄今为止尝试过的:

    unclosed = 0
    opening = "("
    closing = ")"
    for ch in s:
        if ch in opening:
            unclosed += 1
            return True
        elif ch in closing:
            unclosed -= 1
            return False
    return unclosed

但它每次都只返回 True 。在过去的 20 分钟里,我一直在试图解决这个问题,但我无法解决它。

我感谢所有帮助,并在必要时提供更多信息(尽管我认为我提供的信息已经足够了)。

U11-前进

您可以使用count,并且您的代码不起作用,因为您返回的太早了,return True如果是0您也应该这样做否则return False

def match_brackets(s):
    """
    >>> match_brackets('(7 - 4) * (3 + 2)')
    True
    >>> match_brackets('((2 + 5) / (13 +12)')
    False
    """
    return s.count('(') == s.count(')') and all([x < y for x, y in zip([i for i, x in enumerate(s) if x == '('], [i for i, x in enumerate(s) if x == ')'])])

所以我简单地首先检查(s 的数量和数量)s,如果它们相等,我继续在and子句中的另一个语句,否则False已经返回,并继续,下一个语句检查是否所有(s 都在)s之前,使用之间的 zip两个列表推导式enumerate(它们只是获取其搜索值的索引)并执行外部列表推导式,该推导式仅检查所有(s 是否在)s之前,然后用于all查看它们是否都为True.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查字符串是否包含方括号“)(”?

来自分类Dev

如何检查字符串是否被方括号包围?

来自分类Dev

如何检查字符串是否包含特定字符

来自分类Dev

如何检查字符串是否包含特殊字符(!@#$%^&*()_ +)

来自分类Dev

如何检查字符串是否包含某些字符

来自分类Dev

如何检查字符串是否包含特定字符?

来自分类Dev

如何检查字符串是否包含特殊字符?

来自分类Dev

如何检查字符串是否匹配特定模式?

来自分类Dev

如何检查字符串是否匹配模式C

来自分类Dev

如何检查字符串是否包含搜索项

来自分类Dev

如何检查字符串是否包含整数?-迅速

来自分类Dev

如何检查字符串是否包含字母

来自分类Dev

如何检查字符串是否包含撇号

来自分类Dev

如何检查字符串是否包含JavaScript代码?

来自分类Dev

如何检查字符串是否包含单词?

来自分类Dev

如何检查字符串是否包含字符串数组中的字符串?

来自分类Dev

如何检查字符串是否包含列表/数组中的任何字符串

来自分类Dev

如何检查字符串是否在Pascal中包含字符串

来自分类Dev

如何在Delphi中检查字符串是否包含子字符串?

来自分类Dev

如何检查字符串是否包含子字符串?

来自分类Dev

如何使用Linq检查字符串是否包含字符串的子集之一

来自分类Dev

如何检查字符串是否包含列表中的字符串?

来自分类Dev

如何使用jQuery检查字符串是否包含给定字符串

来自分类Dev

检查字符串是否以括号中的数字开头

来自分类Dev

检查字符串是否不包含URL段并匹配

来自分类Dev

检查字符串是否不包含URL段并匹配

来自分类Dev

PHP检查字符串是否包含数字并检查字符串长度

来自分类Dev

检查字符串是否包含数组中的字符

来自分类Dev

检查字符串是否包含CJK(中文)字符

Related 相关文章

  1. 1

    如何检查字符串是否包含方括号“)(”?

  2. 2

    如何检查字符串是否被方括号包围?

  3. 3

    如何检查字符串是否包含特定字符

  4. 4

    如何检查字符串是否包含特殊字符(!@#$%^&*()_ +)

  5. 5

    如何检查字符串是否包含某些字符

  6. 6

    如何检查字符串是否包含特定字符?

  7. 7

    如何检查字符串是否包含特殊字符?

  8. 8

    如何检查字符串是否匹配特定模式?

  9. 9

    如何检查字符串是否匹配模式C

  10. 10

    如何检查字符串是否包含搜索项

  11. 11

    如何检查字符串是否包含整数?-迅速

  12. 12

    如何检查字符串是否包含字母

  13. 13

    如何检查字符串是否包含撇号

  14. 14

    如何检查字符串是否包含JavaScript代码?

  15. 15

    如何检查字符串是否包含单词?

  16. 16

    如何检查字符串是否包含字符串数组中的字符串?

  17. 17

    如何检查字符串是否包含列表/数组中的任何字符串

  18. 18

    如何检查字符串是否在Pascal中包含字符串

  19. 19

    如何在Delphi中检查字符串是否包含子字符串?

  20. 20

    如何检查字符串是否包含子字符串?

  21. 21

    如何使用Linq检查字符串是否包含字符串的子集之一

  22. 22

    如何检查字符串是否包含列表中的字符串?

  23. 23

    如何使用jQuery检查字符串是否包含给定字符串

  24. 24

    检查字符串是否以括号中的数字开头

  25. 25

    检查字符串是否不包含URL段并匹配

  26. 26

    检查字符串是否不包含URL段并匹配

  27. 27

    PHP检查字符串是否包含数字并检查字符串长度

  28. 28

    检查字符串是否包含数组中的字符

  29. 29

    检查字符串是否包含CJK(中文)字符

热门标签

归档