导航

python 判断输入的一个字符串S括号是否合法

Posted on 2022-09-09 18:56  听雨轩!  阅读(179)  评论(0)    收藏  举报

s=input("输入一个字符串含(){}[]:")
r1=""
cs=True
#取出所有符合要求的字符,去掉不关心的字符
for i in range(0,len(s)):
  if s[i] in ['(','{','[',')','}',']']:
    r1+=s[i]


#找到符合要求的串(),{},[],就换成''(空),也是删除了
while cs==True:
  for each in ['()','{}','[]']:
    r1=r1.replace(each, '')
    #都没有符合要求的串了,就停止循环
    if r1.find('()')<0 and r1.find('[]')<0 and r1.find('{}')<0:
       cs=False;


#如果符合要求肯定就删除完了,肯定是个空串,否则不合法就不为空,或字符串本身不含括号,抽取的串本身就是空
if(len(r1)==0):
  print("输入字符串不含括号或括号成对合法")
else:
  print("输入字符串括号不成对,非法")