马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 收纳空白1321 于 2022-4-13 14:34 编辑
我测试了一下这个 括号组 {()()()[][()()]()} 和这个 {()[()()]}
我想着答案是 合法的啊
但是我又没有找到问题在哪里
下面是我刚刚改的 但是还是运行出现问题 我现在就是 发现好像是 d 的取值 没有取好 然后一下没有思路 求助大佬s = []
s = input("请输入测试字符: ")
n = len(s)
if n % 2 != 0:
print("非法T_T")
stack = []
for c in s:
if c == '(' or c == '[' or c =='{':
stack.append(c)
else:
if len(stack) == 0:
print("非法T_T")
break
d = stack.pop()
if c == ')':
d = '('
elif c == ']':
d = '['
elif c == '}':
d = '{'
if d != stack.pop():
print("非法T_T")
break
else:
if len(stack) == 0:
print("合法^_^")
else:
print("非法T_T")
s = input("请输入测试字符: ")
stack = []
d = 0
for c in s:
if c == '(' or c == '[' or c =='{':
stack.append(c)
else:
if len(stack) == 0:
print("非法T_T")
break
if c == ')':
d = '('
elif c == ']':
d = '['
elif c == '}':
d = '{'
if d != stack.pop(): # 这里要缩进
print("非法T_T") # 这里要缩进
break # 这里要缩进
else:
if len(stack) == 0:
print("合法^_^")
else:
print("非法T_T")
|