Название вопроса может быть трудно понять. Но давайте предположим, что у меня есть список 2D 8x8, который называется chessboard
:
chessboard = [[0 for x in range(n)]for y in range(n)]
И у меня есть функция, которая добавляет фигуру коня к определенному индексу.
def add_white_knight(chessboard, a, b):
chessboard[a][b] = 1
return chessboard
И у меня есть функция с именем attack_configuration
, которая только проверяет, удовлетворяет ли конкретная конфигурация платы некоторым конкретным правилам.
Итак, я хочу перед тем, как добавить кусок на мою доску, проверить, удовлетворяет ли он требуемой конфигурации.
Моя попытка была сделать
if(attack_configuration(add_black_knight(chessboard, i, j))):
chessboard = add_black_knight(chessboard, i, j)
Но я понял, что это не удалось, потому что chessboard
уже редактируется внутри оператора if
. Что может быть практическим решением этой крошечной проблемы?
Спасибо.