Создать матрицу 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 это прибавления к индексу, чтобы закрутить в спираль, но как раз тут я не понимаю, как это происходит. Может кто-то объяснить на пальцах?