为什么这里会说我的变量d是未定义的
本帖最后由 isdkz 于 2022-3-31 15:30 编辑你的缩进不对。
s = input("请输入测试字符串:")
stack=[]
for c in s:
if c=='(' or c=='[' or c=='{':
stack.append(c)
else:
if len(stack)==0:
print("非法")
break
if c==')': # 这里要缩进 else 里面
d='(' # 这里要缩进 else 里面
elif c==']': # 这里要缩进 else 里面
d='[' # 这里要缩进 else 里面
elif c=='}': # 这里要缩进 else 里面
d='{' # 这里要缩进 else 里面
if stack.pop()!= d: # 这里要缩进 else 里面
print("非法") # 这里要缩进 else 里面
break # 这里要缩进 else 里面
else:
if len(stack)==0:
print("合法")
else:
print("非法") 在你的图片我的确没有看到你申明变量d{:5_102:} 小伤口 发表于 2022-3-31 15:20
在你的图片我的确没有看到你申明变量d
小甲鱼的答案里 也没有定义这个d啊 BlackWhite_idea 发表于 2022-3-31 15:21
小甲鱼的答案里 也没有定义这个d啊
不会把,你再好好看看 小伤口 发表于 2022-3-31 15:23
不会把,你再好好看看
刚一行一行的对过。。 BlackWhite_idea 发表于 2022-3-31 15:25
刚一行一行的对过。。
小甲鱼的那个代码在哪里,我去看看 小伤口 发表于 2022-3-31 15:23
不会把,你再好好看看
我也没看到你前面有强调d这个变量,只有i,而且说不定小甲鱼的答案是错的也说不定 本帖最后由 BlackWhite_idea 于 2022-3-31 15:40 编辑
stack = []
s = input("输入一个测试字符串:")
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 stack.pop() != d:
print('非法T_T')
break
else:
if len(stack) == 0:
print("^o^合法")
else:
print('非法T_T')
绝了这样又老跑非法去了 BlackWhite_idea 发表于 2022-3-31 15:38
绝了这样又老跑非法去了
截个图看看
页:
[1]