Inizia subitoInizia gratis

Accesso a sotto-array

Accediamo agli elementi negli array NumPy! Il tuo compito è convertire un array bidimensionale quadrato square di dimensione size in una lista seguendo uno schema a spirale:

Traversing the matrix in spiral way

Invece di limitarti ad accedere ad alcune slice, definirai una soluzione più generale usando un ciclo for (la soluzione deve funzionare per tutti gli array bidimensionali quadrati di dimensione dispari).

Il modulo numpy è già importato come np.

Ti servirà la funzione reversed(), che inverte un Iterable.

Questo esercizio fa parte del corso

Esercitarsi con le domande di colloquio di coding in Python

Visualizza corso

Istruzioni dell'esercizio

  • Converti in una lista ogni parte indicata da una freccia rossa.
  • Converti in una lista ogni parte indicata da una freccia verde.
  • Converti in una lista ogni parte indicata da una freccia blu.
  • Converti in una lista ogni parte indicata da una freccia magenta.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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)
Modifica ed esegui il codice