当前位置: 首页 > news >正文

Python括号匹配问题

给定一个只包含小写字母的字符串,判断该字符串中的括号是否闭合,如果每个左括号都有对应的右括号,并且括号的嵌套顺序正确,那么括号就能正确闭合。
否则,括号不能正确闭合,字符串中括号仅限于 "(" 和 ")"

输入字符串:"((()))" 输出结果:正常闭合符合语法规范

输入字符串:"())(" 输出结果:不能正常闭合,不符合语法规范

'''
步骤:
如果遇到左括号"(",则将其压入栈中。
如果遇到右括号")",则弹出栈顶元素,判断是否与当前右括号匹配。
如果栈为空或者栈顶元素不是左括号"(",则返回False。
如果匹配成功,则继续下一轮循环。
最后,如果栈为空,则表示所有括号都正确闭合,返回True;否则返回False
''''
stack = ''   # 字符串模拟栈
# 测试样例
s = "((aaa(abcdef)ccc))"
# s = "())("
for char in s:if char == "(":stack += charelif char ==')':if len(stack)==0 or stack[-1] !='(':print('不能正常闭合,不符合语法规范!')breakstack=stack[:-1]    # 表示最后一个元素不要了! 切片不包含最后一个元素
else:if len(stack)==0:print('正常闭合,符合语法规范!')else:print('不能正常闭合,不符合语法规范!')

http://www.lryc.cn/news/193250.html

相关文章:

  • 微信小程序备案内容常见问题汇总
  • 无人机新手防炸飞行技巧
  • webrtc opus 音频编码支持SILK和CELT模式
  • 掌握Python爬虫实现网站关键词扩展提升曝光率
  • ajax实现原理
  • 图G的拉普拉斯矩阵为什么由L=D-A定义
  • 实习项目遇到的bug
  • python selenium下载一个合适的chromedriver.exe(稳定版本)
  • RabbitMQ从0到1完整学习笔记一:《基础篇》
  • 什么是时间冒泡?
  • Go语言入门心法(三): 接口
  • leetcode:210. 课程表 II
  • [MT8766][Android12] 使用谷歌LPA实现ESIM功能的流程
  • MyBatis-Plus为简化开发而生
  • 【翻译】Efficient Data Loader for Fast Sampling-Based GNN Training on Large Graphs
  • OPUS解码器PLC
  • Rancher 使用指南
  • 百度SEO优化全攻略(提高网站排名的5个方面)
  • 华为云云耀云服务器L实例评测|华为云耀云服务器L实例私有库搭建verdaccio(八)
  • C语言之动态内存管理_柔性数组篇(2)
  • vue基础
  • 访问量突破1W,纪念一下~
  • C# 处理TCP数据的类(服务端)
  • 【Jenkins】调用API构建并钉钉通知
  • Java NIO三大核心组件
  • js数据排序方法(sort)?
  • 若依框架学习笔记_mybatis
  • 虚拟机的发展史:从分时系统到容器化
  • 季涨约3~8%,DRAM合约价大幅回升 | 百能云芯
  • LocalDate的用法