Создать матрицу nxn чтобы её символы закручивались спиралью

Я не совсем понимаю, что делает код. Задача была создать матрицу nxn чтобы её символы закручивались спиралью

n=int(input())
t=[[0]*n for i in range (n)]
i,j=0,0

for k in range(1, n*n+1):
  t[i][j]=k
  if k==n*n:
        break

  elif i <= j+1 and i+j < n-1:
        j+=1
  elif i < j and i+j >= n-1:
        i+=1
  elif i >= j and i+j > n-1:
        j-=1
  elif i > j+1 and i+j <= n-1:
        i-=1




for i in range(n):
  print(t[i]) 

Вопрос собственно, что происходит в elif части? Мы взяли t[i][j] за аргумент k, т.е это значения от 1 до 25. Получается elif часть сравниваются i и j от 1 до 25, но разве это не индексы? Например, если написать print(t[0][2]), то мне выдаст третий символ в первой строчке, а в моем случае нет нулевой строки. j+=1 и i=+1 это прибавления к индексу, чтобы закрутить в спираль, но как раз тут я не понимаю, как это происходит. Может кто-то объяснить на пальцах?


Ответы (0 шт):