Лабораторная работа 4

Задание для лабораторной работы 4.

Дана клетка с координатами x, y. Построить список пар координат, смежных клеток. Координаты смежных клеток отличаются от координат x, y не больше чем на 1.


x, y = 2, 3

# Смещения 
dxdy = [ ( 1, 1), ( 0, 1), (-1, 1), 
         (-1, 0), (-1,-1), ( 0,-1),
         ( 1,-1), ( 1, 0) ]

# Пустой список, в который будут добалятся координаты смежных клеток
nearest = list()

# Для каждого элемента из списка смещений
for (dx,dy) in dxdy:
    nearest_cell = (x+dx, y+dy)
    nearest.append(nearest_cell)
    
print(nearest)

Задание 4.1

Для заданной колонии клеток, например

colony = [ (1, 1), (1, 2), (1, 3) ]

и определенного при помощи предыдущей программы списка смежных клеток, получить список пар координат (кортежей) занятых клеток из числа смежных, т.е. определить список соседей клетки с координатами x и y

x, y = 2, 3

neighbours = list()

#
# Здесь ваш код
#
        
print(neighbours)

Как определить количество соседей?

Задание 4.2

Для заданной колонии клеток, например


colony = [ (1, 1), (1, 2), (1, 3) ]

определите список координат клеток (без повторений), составляющих ареал колонии. В ареал колонии входят все живые клетки колонии и клетки смежные живым клеткам колонии.


# В ареал входят все клетки колонии 
area = list(colony)

# и клетки смежные клеткам колонии 

for cell in colony:
    for (dx,dy) in dxdy:
        x = cell[0]
        y = cell[1]
        nearest_cell = (x+dx, y+dy)
        if nearest_cell not in area:
            # Ваш код
            # Ваш код
            
print('Колония ', colony)
print('Ареал колонии ', area)


© 2018. All rights reserved.