Time limit exceeded
n=int(input())
a=[[0 for j in range(n)]for i in range(n)]
n1=0
i=0
c=0
while c<len(a)**2:
if i<=(n+1)//2:
for j in range(n1, n-n1-1):
c+=1
a[i][j]=c
n1+=1
i=n-n1
for j in range(n1, n-n1-1):
c+=1
a[j][i]=c
if i>(n+1)//2:
for j in range(n-1-n1, n1-1, -1):
c+=1
a[i][j]=c
n1+=1
for j in range(n-1, n1-1, -1):
a[j][i]=c
c+=1
i=n1-1
for i in range(n):
for j in range(n):
print (a[i][j])
I can't find what's wrong with my code. It is always resulting in 'time limit exceeded'. This code creates a spiral from numbers from 1 to n*n by filling a nested list and then prints it.