lav甜甜 2021-11-12 00:57 采纳率: 42.9%
浏览 41
已结题

Python用栈实现括号匹配求解

求问以下代码实现与样例不同
样例:输入:())[] 输出:NO
代码:a=list(input())

left="( ["
right=") ]"
d={')':'(',']':'['}

for i in a:
b=[]
reslut="YES"
if i in left:
b.append(i)
elif i in right:
if len(b)<1:
result="NO"
break
elif d[i]==b[-1]:
b.pop()
else:
result="NO"
break
else:
continue
if len(b) >0:
result="NO"
else:
result="YES"
print(result)

输出结果为YES

  • 写回答

3条回答 默认 最新

  • 关注

    你题目输入的只有 ()[] ,没有{} 吗?
    你题目的解答代码如下:

    a=list(input())
    left="([{"
    right=")]}"
    d={')':'(',']':'[','}':'{'}
    reslut="YES"
    b=[]
    for i in a:
        if i in left:
            b.append(i)
        elif i in right:
            if len(b)<1:
                result="NO"
                break
            elif d[i]==b[-1]:
                b.pop()
            else:
                result="NO"
                break
    else:  #只有正常循环结束才需要判断 len(b) >0 用 break跳出循环不需要判断
        if len(b) >0:
            result="NO"
        else:
            result="YES"
    print(result)
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。