#给一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. import numpy as np #第一行,最后一列,最后一行,第一列 L=[[1,2,3,4],[5,6,7,8]] # L=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]] row=np.size(L,0) cov=np.size(L,1) print(row,cov) i=0 #行索引 j=0 #列索引 newL=[] if min(row,cov)%2==0: k=min(row,cov)/2 #print(k) else: k = (min(row, cov)+1 )/ 2 #print(k) num=1 print(k) while num<=k: if(i<=cov-1): for tempj in range(i,cov,1):#列变行不变 newL.append(L[i][tempj]) if(i+1<=row-1): for tempi in range(i+1,row,1):#行变 newL.append(L[tempi][tempj]) if(tempj- 1 >= j):#这个是判断是否要继续读个循环还是只读一行或者一列 for tempj in range(tempj-1,j-1,-1):#列变行不变 newL.append(L[tempi][tempj]) for tempi in range(tempi-1,i,-1):#行变 newL.append(L[tempi][tempj]) #print(newL) num = num+1 i = i+1 j = j+1 cov = cov-1 row = row-1 print(newL)
python小题——顺时针打印矩阵
最新推荐文章于 2021-11-14 18:09:58 发布