龙空技术网

python实现:“栈”检查括号

喜欢编程的猪 139

前言:

目前兄弟们对“python3 栈”大致比较关注,姐妹们都想要分析一些“python3 栈”的相关资讯。那么小编也在网摘上汇集了一些关于“python3 栈””的相关知识,希望各位老铁们能喜欢,各位老铁们快快来学习一下吧!

'''python实现:“栈”检查括号s = []#入栈s.append()#出栈s.pop()#判断是否为空栈not s#栈的长度len(s)#取栈顶元素s[-1]''''''假设表达式中允许包含3种括号()[]{},其嵌套顺序是任意的.例如:{()[()]},[{({})}]这样的格式是正确的.[。),[()),(()}这样的格式是不正确的.编写一个函数,判断一个表达式字符串,括号匹配是否正确'''left=list('([{')right=list(')]}')op=list('{()[()]}')tip=[' ']*len(op)ok=Truestack = []for i,it in enumerate(op):    if it in left:        stack.append(it)    elif it in right:        if len(stack)==0:            print(f'err:{it}缺少左括弧')            tip[i]='↑'            print(''.join(op))            print(''.join(tip))            ok = False            break        cl = stack.pop()        if left.index(cl)!=right.index(it):            print(f"err:'{cl}'与'{it}',左右括弧不匹配")            tip[i]='↑'            print(''.join(op))            print(''.join(tip))            ok = False            breakif ok:    if len(stack) == 0:        print('ok')    else:        s=''.join(stack)        print(f"err:'{s}',缺少右括弧")

标签: #python3 栈