为毛一样的结构我写的就不对呢
本帖最后由 青出于蓝 于 2022-7-29 11:27 编辑老师写的:
s = input("请输入测试字符串:")
stack = []
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("合法^o^")
else:
print("非法T_T")
我写的:
stack = []
d = []
c = input('请输入:\n')
for e in c:
if e == '(' or e == '{' or e == '[':
stack.append(e)
else :
if len(stack) == 0:
print('非法')
break
if e == ']':
d = '['
elif e == '}':
d = '{'
elif e == ')':
d = '('
if d != stack.pop():
print('非法')
break
else:
if len(stack) == 0:
print('合法')
else :
print('非法')
stack = []
d = []
c = input('请输入:\n')
for e in c:
if e == '(' or e == '{' or e == '[':
stack.append(e)
else :
if len(stack) == 0:
print('非法')
break
if e == ']':
d = '['
elif e == '}':
d = '{'
elif e == ')':
d = '('
if d != stack.pop():
print('非法')
break
else:
if len(stack) == 0:
print('合法')
else :
print('非法')
很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)
p.s 改了一下你的帖子,发代码最好要用代码样式 哪里不对呢? 青出于蓝 发表于 2022-7-29 11:36
很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)
p.s 改了一下你的帖子,发代码最 ...
忘了你是版主了{:10_250:} 青出于蓝 发表于 2022-7-29 11:36
很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)
p.s 改了一下你的帖子,发代码最 ...
感谢,我用的idle ,没细看,一直揪着代码看。没注意缩进。
页:
[1]