【发布时间】:2015-12-17 14:19:02
【问题描述】:
def solve(v,q):
#print "reach solve"
if isInside(v,left(q)) == True:
out = solving(v,q)
elif isInside(v, right(q)) == True:
reverse = q[::-1]
#reverse = [right(q) + '=' + left(q)]
out = solving(v,reverse)
#if type(out[0]) == types.ListType:
print out[0]
if out[0] == "x":
pass
else:
out = solving(v,out)
return out
当我尝试运行程序时收到以下消息。 out[0] 应该是一串“x”。我有几个成功的测试用例,但其中有几个在这一点上失败了。
谁能向我解释一下这里可能发生的事情。谢谢!
Traceback (most recent call last):
File "lab1.py", line 147, in <module>
main()
File "lab1.py", line 131, in main
print solve('x', [['a', '-', 'x'], '=', 'c']) # ['x', '=', ['a', '-', 'c']]
File "lab1.py", line 109, in solve
print out[0]
TypeError: 'NoneType' object has no attribute '__getitem__'
【问题讨论】:
-
您的“解决”方法似乎返回无。所以,你的 out 变量是 None 而不是一个列表。
-
请发布整个代码。或者你可以尝试自己调试,使用 eclipse 或 pycharm