#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
前提 条件:
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 == ['']
因篇幅问题不能全部显示,请点此查看更多更全内容