size=7
#创建一个size*size的二维列表
array=[[0]*size]
for i in range(size-1):
array+=[[0]*size]
#orient 代表转圈方向
#0代表向下,1代表向右,2代表向左,3代表向上
orient=0
#i控制行索引,j控制列索引
i=j=0
#k为需要存入二维数组的数
for num in range(1,size*size+1):
array[i][j]=num
if i+j==size-1:
#位于左下角,向右转
if i>j:
orient=1
#位于右上角,向左转
else:
orient=2
#位于右下角,向上转
elif j==i and j>=size/2 :
orient=3
#位于左上角,向下转
elif i==j-1 and j<=size/2 :
orient=0
if orient==0:
i+=1
elif orient==1:
j+=1
elif orient==2:
j-=1
elif orient==3:
i-=1
for i in range(size):
for j in range(size):
print("%02d"%array[i][j],end=" ")
print()