Здравствуйте, я начал использовать python довольно недавно.У меня так много проблем с этим одним сегментом моего кода, который выдает ошибку при попытке удалить элемент из моего набора:
tile.remove (m) KeyError: 'B9'
EDIT: я забыл упомянуть, что значение m меняется каждый раз, когда я вызываю другую функцию перед циклом for.Также в функции fc, если она ложна, функция гарантирует добавление плитки обратно в набор tile.add (m)
При онлайн-исследовании сообщается, что ключевая ошибка возникает, только если элемент отсутствует в наборе.но .... прямо перед тем, как удалить элемент, я проверяю, находится ли он в наборе, и он есть.
m = findMRV()
if checkEmpty(board, m) == False:
backtrack(board)
for d in domain[m].copy():
if checkValid(board, m[0], m[1], d ):
if m in tiles:
print(str(m)+"HELLO3")
tiles.remove(m)
board[m] = d
if(fc(board, m[0], m1], d) == False):
continue
функция checkValid просто возвращает true или false и не меняет m.Я хочу удалить m из набора, который содержит только пустые тайлы, но я продолжаю получать ключевую ошибку, и я не могу понять, в чем может быть проблема или откуда она может возникнуть.