
Заголовок⁚ Как проверить, не касаются ли единицы друг друга в двумерном списке на Python?Привет! Меня зовут Максим, и я с удовольствием поделюсь своим опытом проверки двумерного списка на наличие единиц, которые касаются друг друга. Эта задача может показаться сложной на первый взгляд, но с помощью Python мы можем решить ее эффективно. Давайте приступим!Для начала, нам нужно определиться с размерностью нашего списка. В данном случае, мы будем использовать список размерностью 5 х 5, но вы можете изменить его в соответствии с вашими потребностями. Предположим, что у нас есть следующий список⁚
python
matrix [
[0, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0٫ 0٫ 0٫ 1٫ 0]٫
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
]
Теперь давайте напишем функцию, которая будет проверять, не касаются ли единицы друг друга по горизонтали, вертикали и диагонали⁚
python
def check_adjacency(matrix)⁚
for i in range(len(matrix))⁚
for j in range(len(matrix[i]))⁚
if matrix[i][j] 1⁚
if i > 0 and matrix[i-1][j] 1⁚ # проверяем верхнего соседа
return ″НЕТ″
if j > 0 and matrix[i][j-1] 1⁚ # проверяем левого соседа
return ″НЕТ″
if i < len(matrix)-1 and matrix[i 1][j] 1⁚ # проверяем нижнего соседа
return ″НЕТ″
if j < len(matrix[i])-1 and matrix[i][j 1] 1⁚ # проверяем правого соседа
return ″НЕТ″
if i > 0 and j > 0 and matrix[i-1][j-1] 1⁚ # проверяем левого верхнего соседа
return ″НЕТ″
if i > 0 and j < len(matrix[i])-1 and matrix[i-1][j 1] 1⁚ # проверяем правого верхнего соседа
return ″НЕТ″
if i < len(matrix)-1 and j > 0 and matrix[i 1][j-1] 1⁚ # проверяем левого нижнего соседа
return ″НЕТ″
if i < len(matrix)-1 and j < len(matrix[i])-1 and matrix[i 1][j 1] 1⁚ # проверяем правого нижнего соседа
return ″НЕТ″
return ″ДА″
Наша функция проходит по каждому элементу списка. Если она находит единицу, она проверяет ее соседей по всем направлениям. Если находит другую единицу, функция возвращает ″НЕТ″. Если все проверки пройдены успешно, функция возвращает ″ДА″.Теперь, давайте протестируем нашу функцию на примере, который мы рассмотрели выше⁚
python
result check_adjacency(matrix)
print(result) # ДА