# How to understand the matrix in Python?

Output a table of size n×n, filled with integers from 1 to n2 (square) spiral coming from the upper left corner and twisted in a clockwise direction, as shown in the example (here 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

On the second day gave up and found a solution online but did not understand, here's the code:
``````n = int(input())
i, j = 0, -1
max_j, max_i = n - 1, n - 1
min_j, min_i = 0, 1
count = 1
mtrx = [[0 for j in range(n)] for i in range(n)]
while True:

while j < max_j:
j += 1
mtrx[i][j] = count
count += 1
max_j -= 1
while i < max_i:
i += 1
mtrx[i][j] = count
count += 1
max_i -= 1
while j > min_j:
j -= 1
mtrx[i][j] = count
count += 1
min_j += 1
while i > min_i:
i -= 1
mtrx[i][j] = count
count += 1
min_i += 1

if j == (n - 1) // 2 and i == n // 2:
break

print()
print()
for i in range(n):
for j in range(n):
print(mtrx[i][j], end = ' ')
print()``````

Please explain the "essence" of matrices in Python
June 3rd 19 at 20:20