U380305 矩阵

题目背景

在线性代数中,矩阵运算包括等于、加、减、乘等,请你用 Python 实现其中一些功能。

题目描述

本题要求如下: 1. (40 分)定义一个类,名为 Matrix,该类的初始化方法需要三个参数,依次为矩阵的行数(int)、列数(int)和矩阵的值(list\[list\])。初始化时必须指定行数,如果不指定列数,则列数等于行数;如果不指定矩阵的值,则默认为零矩阵。 2. (**必须**)重载该类的 \_\_str\_\_ 方法,以列表的字符串形式返回矩阵的值。 3. (10 分)实例化一个 Matrix 对象,对象名为 e2,表示一个 2 阶单位矩阵。 4. (20 分)重载该类的等于运算方法,当两个 Martix 对象的行数和列数均相等且每行每列的元素都相等时,运算结果为 True,否则为 False。 5. (30 分)重载该类的加法运算方法,运算规则与矩阵加法相同,运算结果也为 Matrix 实例。 6. **为了和判题程序进行交互,请在你的代码最后加上以下内容** ```python while True: print(eval(input())) ``` 注意:为了保证判题程序可以正常运行,请不要使用 Python 的内部函数名作变量名。

输入格式

无需关心输入格式,按照题目要求实现对应的类,并在代码最后附上题目给出的交互代码即可。 保证所有的输入数据都是合法的,都满足矩阵运算的要求。 你可以使用测试样例检查自己的代码是否可以与判题程序正常交互。

输出格式

无需关心输出格式,在代码最后附上题目给出的交互代码即可。

说明/提示

列表的字符串形式是指对列表使用 str 后得到的结果,例如,列表 \[1, 2, 3\] 的字符串形式是 str(\[1, 2, 3\]),即字符串 "\[1, 2, 3\]"。