Traceback (most recent call last):
File "/Applications/Wing101.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "/Applications/Wing101.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 25, in solveMaze
File "/Applications/Wing101.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 39, in recursiveSolver
builtins.TypeError: 'int' object is not subscriptable
关于这行代码我不知道如何解决任何想法?
elif maze.listoflist[currentpos[0][currentpos[1]+1]] == " " and
maze.listoflist[currentpos[0][currentpos[1]+2]] == "*" and [currentpos[0]
[currentpos[1]+2]] not in blacklist:
答案 0 :(得分:1)
我认为你在这里有一些问题,但除非你分享currentpos和/或maze.listoflist中的内容,否则只能猜测。
假设maze.listoflist是一个列表清单 - 即:maze.listoflist = [[...], [...]]
你需要像这样对其进行索引:
maze.listoflist[index_X][index_Y] // Correct indexing listoflist
不像你有:
maze.listoflist[index_X[index_Y]] // Your version
index_X和index_Y都是整数。
然而,这不是您所看到的错误。
&#39; INT&#39;对象不可订阅
告诉我们你有一个int,但是正在尝试索引它。可订阅对象是数组,元组,dicts和字符串,或实现 getitem ()接口的自定义对象,索引它们的语法是使用[]
你认为是列表(或其他可订阅类型)的东西不是,它是一个int。
在抛出错误的行之前添加一个print语句,并向我们显示currentpos的内容(它比maze.listoflist更可能)。
答案 1 :(得分:0)
我猜 currentpos 是一个整数数组,你不能下标(括号左右)一个整数。