1
File "F:\ake\pa\th\help.py", line 268, in main
print type(outputs[x])
KeyError: '0'

我的文件很大,所以outputs可以看到这些地方,按照它们应该如何执行的顺序:

outputs={}

#now in another function
global another_var,outputs

#if malarkey...
elif lines[row][col]=="0":
    outputs["0"]=str(state) #state is either 0 or 1

#back in original function
global outputs

for x in nums:
    print outputs[x], #line 268

我真的不确定为什么会收到上述错误。

4

1 回答 1

2

如果没有最少的代码来尝试运行,很难判断,但最有可能的是,您elif lines[row][col] == "0":没有在您期望的时候触发它。当你到达那里时打印一些东西以确保它是。

此外,print outputs在错误之前立即执行(或者,捕获错误并然后打印它)以查看其中的确切内容。在这两件事之间,您应该看到与您想象的不同的事情。

于 2012-05-26T09:22:18.927 回答