Я пытаюсь сделать это внутри стандартного цикла Python for, но сталкиваюсь с ошибкой NameError, которая предполагает, что предикаты pyDatalog не распознаются правильно в пределах цикла.
Вот упрощенный пример версия того, чего я пытаюсь достичь:
Код: Выделить всё
from pyDatalog import pyDatalog
grid = [[1, 8, 3], [4, 5, 6], [7, 2, 9]]
x, y = 3, 3
t = 5
pyDatalog.create_terms('Flagged')
for row_idx in range(x):
for col_idx in range(y):
if grid[row_idx][col_idx] > t:
# I want to assert a new fact here
+ Flagged(row_idx, col_idx)
print(Flagged(X, Y))
Код: Выделить всё
NameError: name 'Flagged' is not definedПодробнее здесь: https://stackoverflow.com/questions/798 ... ython-loop
Мобильная версия