python多次矩阵旋转90
时间: 2023-11-25 17:52:39 浏览: 59
为了实现多次矩阵旋转90度,我们可以多次执行矩阵旋转的操作。具体来说,我们可以在原矩阵上进行操作,每次将矩阵顺时针旋转90度。下面是Python实现的代码:
```python
def rotate(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
```
这里我们定义了一个名为rotate的函数,它接受一个二维矩阵作为参数。函数中的两个for循环用于遍历矩阵的上半部分,对于每个位置,我们将其与对应的位置进行交换,从而实现顺时针旋转90度的效果。需要注意的是,这里的矩阵旋转是原地修改的,不需要新定义一个二维矩阵做为中间变量。
如果需要多次矩阵旋转,只需要多次调用rotate函数即可。例如,如果需要将一个矩阵顺时针旋转270度,可以先调用rotate函数三次,如下所示:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
rotate(matrix)
rotate(matrix)
rotate(matrix)
print(matrix)
```
输出结果为:
```
[[7, 4, 1], [8, 5, 2], [9, 6, 3]]
```
阅读全文