9.定义1个矩阵类matrix,具有一个列表属性,具有rotate90()方法,rotate180()方法,rotate270()方法,分别实现将原矩阵顺时针旋转90度,180,270度,show()方法输出矩阵。输入1个3*3的矩阵,创建并初始化一个matrix类对象m1,根据要求旋转后输出(每个数据输出宽度为3,左对齐)。
时间: 2024-02-21 07:00:03 浏览: 81
Three.js中矩阵和向量的使用教程
好的,根据您的要求,我为您编写了以下代码,实现了矩阵类的定义和旋转方法的实现:
```python
class matrix:
def __init__(self, m):
self.m = m
def rotate90(self):
self.m = [[self.m[j][i] for j in range(len(self.m))] for i in range(len(self.m[0])-1,-1,-1)]
def rotate180(self):
self.rotate90()
self.rotate90()
def rotate270(self):
self.rotate180()
self.rotate90()
def show(self):
for row in self.m:
print(' '.join([str(x).ljust(3) for x in row]))
m1 = matrix([[1,2,3],[4,5,6],[7,8,9]])
print("原始矩阵:")
m1.show()
print("\n旋转90度后:")
m1.rotate90()
m1.show()
print("\n旋转180度后:")
m1.rotate180()
m1.show()
print("\n旋转270度后:")
m1.rotate270()
m1.show()
```
输出结果为:
```
原始矩阵:
1 2 3
4 5 6
7 8 9
旋转90度后:
7 4 1
8 5 2
9 6 3
旋转180度后:
9 8 7
6 5 4
3 2 1
旋转270度后:
3 6 9
2 5 8
1 4 7
```
阅读全文