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

做动画在线观看网站邢台网站定制

做动画在线观看网站,邢台网站定制,宁德蕉城住房和城乡建设部网站,同学录网站建设问题#xff1a;判断一个有左括号和右括号、以及其他ASCII字符组成的表达式是合法。 判断条件是左括号-右括号数目、次序配对#xff0c;可多层嵌套。如果有*#xff0c;则*可作为0个或者1个右括号#xff0c;如果匹配则输出ok,不匹配则输出不匹配字符所在字符串中的具体位…问题判断一个有左括号和右括号、以及其他ASCII字符组成的表达式是合法。 判断条件是左括号-右括号数目、次序配对可多层嵌套。如果有*则*可作为0个或者1个右括号如果匹配则输出ok,不匹配则输出不匹配字符所在字符串中的具体位置示例((((***********))(((**           不匹配字符位置18 结果NOK((((***********))(((**))         结果OK(()())((()))(()***)                 结果OK(()*)                                  结果OK*(()*()()*(((*                      不匹配字符位置12 结果NOK(((())))*()(*((**                  结果OK((()(())*                            不匹配字符位置1 结果NOK((**)(*())))                        不匹配字符位置12 结果NOK***(((()())**                       结果OK(*))                                  不匹配字符位置4 结果NOK()(())*(*)(                          不匹配字符位置11 结果NOK((((******))(((**                  不匹配字符位置13 结果NOK分析在字符串中如果有右括号则优先匹配右括号再考虑是否要进行通配符匹配。因此可以先求出通配符*最少需要多少个才能满足字符串中所有的的左括号匹配计算公式为if  左括号数量 右括号数量://右括号大于等于左括号不用通配符*替换max_replace_num0else://右括号比左括号少如果有*则需要用*进行替换右括号max_replace_num左括号数量-右括号数量因括号匹配问题是优先最近原则因此可以将左括号入栈如果遇到右括号从栈中弹出一个与之匹配如果遇到通配符*如果max_replace_num0则直接跳过否则先入队列优先让右括号先进行匹配等到再碰到下一个左括号时先让队列中的通配符*优先匹配完栈中的左括号再让左括号入栈。具体流程图详细代码def append_list(i,ch):ch_list []ch_list.append(i)ch_list.append(ch)return ch_listdef breaket_match(one_str)::param one_str: 需要匹配的字符串:return: 返回则说明匹配否则返回不匹配位置left_len one_str.count(() #左括号个数left_list [] # 临时存放左括号字符串列表right_list[] #保存*的队列if left_len one_str.count()): #右括号大于等于左括号不用*替换max_replace_num0else: #右括号比左括号少如果有*则需要用*进行替换右括号max_replace_numleft_len-one_str.count()) #替换个数为左括号减去右括号个数for i in range(len(one_str)):if one_str[i] (: #碰到第一个左括号把标志位设置为false说明从这里加上进行正式匹配flagFalseif len(right_list)0:left_list.append(append_list(ii,chone_str[i])) #当前左括号和左括号位置入栈else: #*替换最大可替换个数klen(right_list)tmp_replace max_replace_numfor j in range(k):if len(left_list)0 or j tmp_replace-1:breakelse:left_list.pop()max_replace_num - 1right_list.clear()left_list.append(append_list(ii, chone_str[i])) # 当前*和*位置入栈elif one_str[i] ):#如果当前字符时右括号出栈if len(left_list) ! 0: # 如果栈中有元素与之匹配没有元素说明不匹配返回位置left_list.pop()else:return i 1 # 不匹配返回位置信息else: #如果当前字符是*if max_replace_num0: #判断*是否需要进行右括号匹配为说明不需要进行替换passelse: #*需要替换为右括号if len(left_list)!0 : #如果栈中有元素与之匹配没有元素说明不匹配返回位置,并且替*换个数right_list.append(append_list(ii, chone_str[i])) # 左括号和左括号位置入栈else: #如果左括号个数为但是下一个与之匹配的为*,则跳过passk len(right_list)tmp_replacemax_replace_numfor i in range(k):if len(left_list) 0 or i tmp_replace-1:breakelse:left_list.pop()max_replace_num - 1if (len(left_list)!0): #如果左括号栈中元素不为空不匹配返回位置信息return left_list.pop()[0]1else:return -1 #匹配返回def read_file(file_path):读取文件:param file_path::return: 返回list集合里面包含文件每一行的字符lines []try:file open(file_path) #打开文件line file.readline() #读取文件第一行while 1:line line.strip(\n) #去掉换行符\nlines.append(line) #把文件的每一行append到lines里面line file.readline()if not line:file.close()breakexcept :print(打开文件失败请确认文件名和路径是否正确)return linesdef main():# print(请输入文本文件路径)#读取文件# filepathinput() #读取控制台谁的文件路径linesread_file(test.txt)length_lineslen(lines)#breaket_match(str)输入参数str为需要匹配的字符串如果匹配成功则返回true,如果匹配不成功则返回falsefileopen(result.txt,w)for i in range(length_lines): #对读取出来的文件每一行进行匹配resultbreaket_match(one_strlines[i])if result-1:file.write(行号第str(i1)行; 源字符串lines[i]; 结果OK\n)print(行号第str(i1)行; 源字符串lines[i]; 结果OK)else:file.write(行号第 str(i1) 行; 源字符串 lines[i] ; 不匹配字符位置str(result) 结果 NOK\n)print(行号第 str(i1) 行; 源字符串 lines[i] ; 不匹配字符位置str(result) 结果 NOK)file.close()if __name__ __main__:main()
http://www.pierceye.com/news/861518/

相关文章:

  • 如何用织梦程序制作多个页面网站免费域名解析网站建设
  • 安徽省建筑人员信息网广州百度seo优化排名
  • 北海网站建设培训机构专业
  • 江苏艺居建设有限公司网站企业营销网站开发建设专家
  • 莱芜网站优化排名西安工程建设工程信息网
  • 二手网站建设的策划php做网站都需要学什么软件
  • 作品集的个人网站怎么做抖音代运营怎么样呢
  • 电子商务网页设计与网站建设论文在线设计培训
  • 做旅游网站的项目背景软件开发手册
  • 宁波品牌网站设计app外包接活
  • 清远市住房和城乡建设局门户网站图片软件制作工具
  • 宝马itms做课网站网站开发群
  • 网站开发工作协议书范本谷歌优化软件
  • 什么网站都能进的浏览器企业融资方案
  • 网站建设公司领导致辞自己可以开发一个软件吗
  • 高端网站设计平台专门做二手书网站或app
  • 系网站建设工作总结大庆建设网站表格下载
  • 免费建站网站seo长春专业网站制作
  • 做网站公司哪家正规公司网站如何更改内容
  • 广州黄埔区建设局网站局wordpress怎么看访问量
  • 佛山找人做网站国家建设免费论文网站
  • 网站内容建设ppt网站建设header
  • 图书馆网站建设费用青海省住房建设厅网站
  • 重庆网站供奉战犯wordpress 关键字链接
  • 给个2021站你们懂得不花钱的深圳手机网站建设
  • 织梦图片自适应网站源码php企业网站源码推荐
  • 网站建网站建设网页微信头像logo在线制作
  • 微网站模板怎么做买了域名如何做网站
  • 新华美玉官方网站在线做维护一个网站要多少钱
  • 网站内容由什么组成部分网页网站设计价格