python矩阵顺时针旋转
时间: 2023-11-07 19:04:45 浏览: 144
在Python中,可以使用以下代码实现矩阵的顺时针旋转:
```python
def rotate_matrix(matrix):
n = len(matrix)
for i in range(n // 2):
for j in range(i, n - i - 1):
temp = matrix[i][j]
matrix[i][j] = matrix[n - j - 1][i]
matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1]
matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1]
matrix[j][n - i - 1] = temp
return matrix
```
以上代码中,`rotate_matrix`函数接受一个二维矩阵作为输入,然后通过交换矩阵的元素实现顺时针旋转。具体实现是通过遍历矩阵的每个层级,然后在每个层级上进行元素交换。
相关问题
输入一个 n 行 m 列的数字矩阵 A ,将数字矩阵顺时针旋转 90 度后输出。 输入格式 第一行,两个整数 n 和 m 。 接下来 n 行,每行 m 个整数,代表数字矩阵。 输出格式 输出一个数字矩阵,代表输入矩阵顺时针旋转 90 度的结果。c++
下面是一个 Python 程序,实现了将输入的 n 行 m 列的数字矩阵顺时针旋转 90 度的功能:
```
def rotate_matrix(n, m, matrix):
# 创建新矩阵
new_matrix = [[0 for i in range(n)] for j in range(m)]
for i in range(n):
for j in range(m):
# 顺时针旋转 90 度
new_matrix[j][n-i-1] = matrix[i][j]
return new_matrix
n, m = map(int, input().split())
matrix = []
for i in range(n):
matrix.append(list(map(int, input().split())))
rotated_matrix = rotate_matrix(n, m, matrix)
for row in rotated_matrix:
print(" ".join(map(str, row)))
```
上述程序中,顺时针旋转 90 度的操作就是 new_matrix[j][n-i-1] = matrix[i][j] 。其中,new_matrix 为新矩阵, matrix 为原始矩阵。
python矩阵旋转
在Python中,可以通过改变矩阵的行和列的顺序来实现矩阵的旋转。下面是一个示例代码,展示了如何将一个二维矩阵顺时针旋转90度:
```
def rotate(matrix):
n = len(matrix)
m = len(matrix[0])
result = [[0] * n for _ in range(m)]
for i in range(n):
for j in range(m):
result[j][n-1-i] = matrix[i][j]
return result
# 示例输入
matrix = [
[1, 2, 3],
[4, 5, 6]
]
# 执行旋转操作
rotated_matrix = rotate(matrix)
# 输出结果
for row in rotated_matrix:
for element in row:
print(element, end=' ')
print()
```
运行以上代码,将会得到顺时针旋转90度后的矩阵。如果需要实现其他旋转角度的操作,可以根据类似的原理进行调整。
阅读全文