Zacznij terazZacznij za darmo

Dostęp do podtablic

Ćwiczmy dostęp do elementów tablic NumPy! Twoim zadaniem jest przekształcenie kwadratowej dwuwymiarowej tablicy square o rozmiarze size w listę, którą tworzysz, podążając wzorcem spirali:

Traversing the matrix in spiral way

Zamiast po prostu wycinać określone fragmenty, zdefiniujesz bardziej ogólne rozwiązanie z użyciem pętli for (rozwiązanie powinno działać dla wszystkich kwadratowych tablic dwuwymiarowych o nieparzystym rozmiarze).

Moduł numpy jest już zaimportowany jako np.

Potrzebna ci będzie funkcja reversed(), która odwraca obiekt iterowalny.

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekształć każdą część oznaczoną czerwoną strzałką w listę.
  • Przekształć każdą część oznaczoną zieloną strzałką w listę.
  • Przekształć każdą część oznaczoną niebieską strzałką w listę.
  • Przekształć każdą część oznaczoną różową strzałką w listę.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod