Лямбда-выражение для строки и столбца таблицы - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь создать ограничения для своих матричных элементов, которые должны проверять себя с помощью лямбда-функций перед простым изменением.

Это пример того, что у меня есть в данный момент (Эта функция должна выдавать координату [ x, y], основанный на другом [x, y]:

Constraints.append(lambda row,col: [row-1,col+1] )

Однако выполнение этого приводит к следующему сообщению:

TypeError: unsupported operand type(s) for -: 'str' and 'int'

Также я пробовал приведение, но затем Я получил следующее исключение:

Constraints.append(lambda row,col: [(int(row)-1),(int(col)+1)] )
ValueError: invalid literal for int() with base 10: 'N'

Кто-нибудь знает, как переписать лямбда-функцию так, чтобы она принимала арифметику c для получения новой координаты [x, y]?

1 Ответ

0 голосов
/ 18 февраля 2020

Следовал за следом, как предложил mkrieger1. Казалось, что проблема не в лямбда-функции, а в ее реализации:

File "C:/Users/Algorithm.py", line 78, in CheckConsistency
var = _constraint(int(Assignment[0]),int(Assignment[1]))

ValueError: неверный литерал для int () с основанием 10: 'N'

var = _constraint(Assignment[0],Assignment[1])

Кажется мои параметры для Назначения [0] и Назначения [1] не были целыми числами, как я ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...