Найти ошибку при добавлении в цикл

Помогите найти ошибку. Код без цикла прилагается, в нем нет ошибок, а при добавлении в цикл на девятой (при некоторых значениях на десятой) интерации что-то не то происходит. Сдвиги, вроде, правильно посчитаны. И как избавиться от скобочек в ответе?

import numpy as np
#n=int(input())
n=6
t,a = 0,np.arange(n*n).reshape(n,n)
for i in range(2*n-1):
    if i==0:
        k1,k2,k3=0,0,0
    if i==1:
        k1,k2=1,1
    if i%2==1 and i!=0 and i!=1:
        k1+=1
    if  i%5==0 and i!=0:
        k2+=1
    if i%4==0 and i!=0:
        k3+=1
    for j in range(len(a)-k1):
        a[k3,k2+j]=1+t
        t+=1
    a=np.rot90(a)
print(a)


import numpy as np
#n=int(input())
n=6
a = np.arange(n*n).reshape(n,n)
n=0
#1круг
for i in range(len(a)):
    a[0,i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-1):
    a[0,1+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-1):
    a[0,1+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-2):
    a[0,1+i]=1+n
    n+=1
#2круг
a=np.rot90(a)
for i in range(len(a)-2):
    a[1+0,1+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-3):
    a[1+0,2+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-3):
    a[1+0,2+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-4):
    a[1+0,2+i]=1+n
    n+=1
a=np.rot90(a)
#3круг
for i in range(len(a)-4):
    a[2,2+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-5):
    a[2,3+i]=1+n
    n+=1
a=np.rot90(a)
for i in range(len(a)-5):
    a[2,3+i]=1+n
    n+=1
a=np.rot90(a)
print(a)

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

Автор решения: FotonPC

Где у тебя объявлены k1 k2 k3? Вывести матрицу можно так:

for row in a:
    for el in row:
        print(el.rjust(5),end='')
    print()
→ Ссылка
Автор решения: Виталий

Нашел

import numpy as np
#n=int(input())
n=6
t,a = 0,np.arange(n*n).reshape(n,n)
for i in range(2*n-1):
    if i==0: k1,k2,k3=0,0,0
    if i%2==1: k1+=1
    if  i%4==1: k2+=1
    if i%4==0 and i!=0: k3+=1
    for j in range(len(a)-k1):
        a[k3,k2+j]=1+t
        t+=1
    a=np.rot90(a)
print(a)
→ Ссылка