zhongning123 发表于 2022-7-29 11:26:38

为毛一样的结构我写的就不对呢

本帖最后由 青出于蓝 于 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('非法')

青出于蓝 发表于 2022-7-29 11:35:13

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('非法')

青出于蓝 发表于 2022-7-29 11:36:56

很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)

p.s 改了一下你的帖子,发代码最好要用代码样式

liuzhengyuan 发表于 2022-7-29 11:39:27

哪里不对呢?

liuzhengyuan 发表于 2022-7-29 11:40:00

青出于蓝 发表于 2022-7-29 11:36
很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)

p.s 改了一下你的帖子,发代码最 ...

忘了你是版主了{:10_250:}

zhongning123 发表于 2022-7-29 14:33:05

青出于蓝 发表于 2022-7-29 11:36
很明显,你的代码从第11行开始就缩进错了(对应甲鱼老师代码的第10行)

p.s 改了一下你的帖子,发代码最 ...

感谢,我用的idle ,没细看,一直揪着代码看。没注意缩进。
页: [1]
查看完整版本: 为毛一样的结构我写的就不对呢