import heapq
import collections
a='())(((aatestdg)(jnvkuohaoh))(hello)'
heap=[]
l=collections.Counter(a)
#如果左括号和右括号出现次数不一致,直接返回不一致
if l['(']==l[')']:
print(a.find('('),a.find(')'))
# 如果第一个右括号在第一个左括号后,最后一个优酷号在左括号后,满足条件
if a.find('(')<a.find(')') and a.rfind('(') > a.rfind(')'):
for i in a:
# 如果是左括号,压栈,把左括号压到栈中
if i=='(':
heapq.heappush(heap,i)
print(heap)
# 如果是右括号并且栈里不是空,弹栈
elif i==')' and len(heap)>0:
heapq.heappop(heap)
print(heap)
# 如果是右括号并且栈里是空,括号位置有问题
elif i==')' and len(heap)==0:
print('括号不是成对出现')
#其他字符直接过
else:
pass
else:
print('括号位置不对')
else:
print('括号对数错误')