分圈处理,先旋转外圈,在旋转内圈
def rotate(matrix):
tR = 0
tC = 0
dR = len(matrix)-1
dC = len(matrix[0])-1
while tR < dR:
rotateEdge(matrix, tR, tC, dR, dC)
tR += 1
tC += 1
dR -= 1
dC -= 1
def rotateEdge(m, tR, tC, dR, dC):
times = dC - tC
tmp = 0
for i in range(times):
tmp = m[tR][tC + i]
m[tR][tC + i] = m[dR - i][tC]
m[dR - i][tC] = m[dR][dC - i]
m[dR][dC - i] = m[tR + i][dC]
m[tR + i][dC] = tmp
matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
for i in matrix:
print(i)
rotate(matrix)
for i in matrix:
print(i)
顺时针打印矩阵
def orderPrint(matrix):
tR = 0
tC = 0
dR = len(matrix)-1
dC = len(matrix[0])-1
while tR <= dR and tC <= dC:
printedge(matrix, tR, tC, dR, dC)
tR += 1
tC += 1
dR -= 1
dC -= 1
def printedge(m, tR, tC, dR, dC):
if tR == dR:
for i

这篇博客介绍了如何使用Python将正方形矩阵顺时针旋转90度,并进行顺时针打印的方法。通过分圈处理,首先处理外圈元素,然后逐步处理内部矩阵,实现矩阵的旋转和打印操作。
最低0.47元/天 解锁文章
1364

被折叠的 条评论
为什么被折叠?



