old_monty
Воспользуйтесь функцией any()
Проверил, все равно выводит значения которые не могут быть:
paths = [(cell[0] + 1, cell[1]),
(cell[0], cell[1] + 1),
(cell[0], cell[1] - 1),
(cell[0] + 1, cell[1] + 1),
(cell[0] + 1, cell[1] - 1),
(cell[0] - 1, cell[1]),
(cell[0] - 1, cell[1] - 1),
(cell[0] - 1, cell[1] + 1)]
for i in paths:
if any((i[0] < 0, i[0] > N - 1, i[1] < 0, i[1] > N - 1)):
paths.remove(i)
return paths
Если cell - (0,0)
Выводит - (1, 0), (0, 1), (1, 1), (-1, 0), (-1, 1)
Должно - (1, 0), (0, 1), (1, 1)