搜索
您的当前位置:首页正文

Checkio Brackets

来源:哗拓教育

#checkio#检查括号是否闭合

在代码中括号闭合十分重要,同时还要一一对应的闭合

因此我们要编写一个代码,来实现这个过程。

输入:具有不同类型的表达式,括号为字符串。

输出:对表达式作为逻辑值的正确性的判断。

example:

        assert checkio("((5+3)*2+1)") == True

        assert checkio("{[(3+1)+2]+}") == True

        assert checkio("(3+{1-1)}") == False

        assert checkio("[1+1]+(2*2)-{3/3}") == True

前提 条件:

  • 只有括号(“{}”、“()”或“[]”)、数字或运算符(“+”、“-”、“*”、“/”);
  • 0 < len(表达式) < 103.
def checkio(expression: str) -> bool:
"""
   创建一个brackets对应字典,检索给出的例子,如果是左半部分,加入对应的右半部分括号到new列表里面,直到从给定对象中开始取出右半部分的括号时,如果是一组组对应的情况,是刚好相等的。
比如:假定对左部分的括号检索到"{",则加入"}",然后如果闭合的话,继续检索到的应该是"}"。

"""

    brackets = {'(': ')', '[': ']', '{': '}'}
    new = ['']
    for i in expression:
        if i in brackets:
            new.append(brackets[i])
        elif i in brackets.values() and i != new.pop():
            return False
    return new == ['']

变得很棒

因篇幅问题不能全部显示,请点此查看更多更全内容

Top