Я работаю над кодом, о котором уже вчера спрашивал: как обойти 'измененный размер словаря во время итерации'
и, как и предполагалось, я перешел к работе с декой BFS, но теперь, когда я пытаюсь ввести подробности ячейки, это работает (я могу напечатать значения, и они верны), но по какой-то причине компилятор все еще говорит me "TypeError: объект 'int' не является подписным". Я посмотрел некоторые другие статьи здесь об этой проблеме, и все они говорили о попытке достичь местоположения внутри int, поскольку это был массив, но это не то, что я делаю, я пытаюсь достичь кортежа. (Я проверил тип ячейки - это кортеж)
Буду благодарен за любую помощь.
for row in range(len(node.state)):
for col in range(len(node.state[0])):
if node.state[row][col] == DEST or node.state[row][col] == PDEST or node.state[row][col] == BDEST:
visitedCells[row, col] = 0
queue = collections.deque(visitedCells.items())
while queue:
cell, val = queue.pop()
row = cell[0]
col = cell[1]
if ((row + 1, col) not in visitedCells and (node.state[row + 1][col] == EMPTY or node.state[row + 1][col]
== BOX or node.state[row + 1][col] == PLAYER or
node.state[row + 1][col] == ICE or node.state[row + 1][col]
== PICE or node.state[row + 1][col] == BICE)):
visitedCells[row + 1, col] = val + 1
queue.append((row + 1, col))
обратная связь:
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\roniz\AppData\Local\Programs\Python\Python37\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:/Users/roniz/PycharmProjects/AIp1t2/check.py", line 20, in run
self.result = func(*args, **kwargs)
File "C:/Users/roniz/PycharmProjects/AIp1t2/check.py", line 64, in <lambda>
result = check_problem(p, (lambda p: search.best_first_graph_search(p, p.h)), timeout)
File "C:\Users\roniz\PycharmProjects\AIp1t2\search.py", line 257, in best_first_graph_search
frontier.append(node)
File "C:\Users\roniz\PycharmProjects\AIp1t2\utils.py", line 750, in append
bisect.insort(self.A, (self.f(item), item))
File "C:\Users\roniz\PycharmProjects\AIp1t2\utils.py", line 361, in memoized_fn
val = fn(obj, *args)
File "C:\Users\roniz\PycharmProjects\AIp1t2\ex1.py", line 128, in h
row = cell[0]
TypeError: 'int' object is not subscriptable