Выведите таблицу размером n n

Не могу понять как именно работает код.Очень прошу написать комментарии к каждой строке кода(если не затруднит),что бы понять сам алгоритм выполнения

Выведите таблицу размером n×n, заполненную числами от 1 до n2 по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке

Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Python / 27_matrix_spiral.py

Users who have contributed to this file

Выведите таблицу размером n×n, заполненную числами от 1 до n2 по спирали, выходящей из левого верхнего
угла и закрученной по часовой стрелке, как показано в примере (здесь n= 5 ):
Sample Input:
5
Sample Output:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
def spiral ( n ):
dx,dy = 1 , 0
x,y = 0 , 0
myarray = [[ None ] * n for j in range (n)]
for i in range ( 1 ,n ** 2 + 1 ):
myarray[x][y] = i
nx,ny = x + dx, y + dy
if 0 nx n and 0 ny n and myarray[nx][ny] == None :
x,y = nx,ny
else :
dx,dy = — dy,dx
x,y = x + dx, y + dy
return myarray
def printspiral ( myarray ):
n = range ( len (myarray))
for y in n:
for x in n:
print (myarray[x][y], end = ‘ ‘ )
print ()
n = int ( input ())
printspiral(spiral(n))
  • © 2019 GitHub , Inc.
  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Выведите таблицу размером n×n, заполненную числами от 1 до n2 (квадрат) по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке, как показано в примере (здесь n=5):
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

На второй день сдался и нашел решение в интернете, но ничего не понял, вот собственно сам код:

Оцените статью
Добавить комментарий