02-转圈圈

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()

  

原文地址:https://www.cnblogs.com/zhanghua-322/p/11356927.html