定义一个矩阵类,其中包含了矩阵的维数,矩阵,以及需要的方法 输入x个m*n的矩阵,将这个矩阵向右旋转90度后输出
时间: 2024-05-03 22:21:42 浏览: 70
以下是一个可能的实现:
```python
class Matrix:
def __init__(self, m, n, matrix):
self.m = m
self.n = n
self.matrix = matrix
def rotate_right(self):
new_matrix = [[0] * self.m for _ in range(self.n)]
for i in range(self.m):
for j in range(self.n):
new_matrix[j][self.m - i - 1] = self.matrix[i][j]
return Matrix(self.n, self.m, new_matrix)
# 测试代码
m = 3 # 矩阵的行数
n = 4 # 矩阵的列数
matrix_data = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
]
matrix = Matrix(m, n, matrix_data)
rotated_matrix = matrix.rotate_right()
print(rotated_matrix.matrix)
```
输出:
```
[[9, 5, 1], [10, 6, 2], [11, 7, 3], [12, 8, 4]]
```
这个实现中,`Matrix` 类有三个属性:`m` 和 `n` 表示矩阵的行数和列数,`matrix` 是一个二维数组表示矩阵本身。
`Matrix` 类还有一个 `rotate_right` 方法,用于将矩阵向右旋转90度。具体实现是,创建一个新的二维数组 `new_matrix`,将旋转后的元素按照旋转规则依次赋值给 `new_matrix` 中的元素。最后返回一个新的 `Matrix` 对象,其行数和列数与原矩阵相反,矩阵本身是 `new_matrix`。
在测试代码中,我们创建了一个 3x4 的矩阵 `matrix`,并将其旋转后输出。输出结果是一个 4x3 的矩阵,与预期相符。
阅读全文