ПочатиПочніть безкоштовно

Доступ до підмасивів

Давайте звертатися до елементів у масивах NumPy! Ваше завдання — перетворити квадратний двовимірний масив square розміру size на список, утворений за спіральним шаблоном:

Traversing the matrix in spiral way

Замість простого взяття окремих зрізів ви визначите більш загальне розв'язання з використанням циклу for (розв'язання має працювати для всіх квадратних двовимірних масивів непарного розміру).

Модуль numpy уже імпортовано як np.

Вам знадобиться функція reversed(), яка обертає порядок елементів ітерабельного об'єкта (Iterable).

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Інструкції до вправи

  • Перетворіть кожну частину, позначену червоною стрілкою, на список.
  • Перетворіть кожну частину, позначену зеленою стрілкою, на список.
  • Перетворіть кожну частину, позначену синьою стрілкою, на список.
  • Перетворіть кожну частину, позначену пурпуровою стрілкою, на список.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

spiral = []

for i in range(0, size):
    # Convert each part marked by any red arrow to a list
    spiral += list(square[i, ____:____])
    # Convert each part marked by any green arrow to a list
    spiral += list(square[____:____, size-i-1])
    # Convert each part marked by any blue arrow to a list
    spiral += list(reversed(square[size-i-1, ____:____]))
    # Convert each part marked by any magenta arrow to a list
    spiral += list(reversed(square[____:size-i-1, ____]))
        
print(spiral)
Редагувати та запускати код