我需要一些帮助,尤其是b).谢谢
为矩阵定义一个类,如下所示:(a)提供一个实现__init__,它将列表列表作为输入并返回一个matrix类型的新对象.
对于矩阵A =
1 2
3 4
Run Code Online (Sandbox Code Playgroud)
用户可以进入A = matrix( [[1,2],[3,4]]).
(b)提供一个实现__repr__,返回矩阵的字符串表示,在单独的行中打印每一行,例如将A打印为:
1, 2
3, 4
Run Code Online (Sandbox Code Playgroud)
对于a),它实际上取决于您希望如何存储矩阵.将矩阵存储为列表列表,对于大多数用途来说可能都很好,但我不知道您的用途是什么.矩阵具有列表列表缺少的约束(所有行具有相同数量的相同类型的项目); 这个课程要确保限制是正确的.也就是说,如果这是整个任务,只需使用列表列表就可以了.
因此,您可能希望对输入进行一些双重检查.该len()方法将派上用场.
以下是构造函数需要能够处理的内容,最终使用Exceptions:
Matrix([])Matrix("Hi")Matrix([1])Matrix([1], [2])Matrix([1], [2, 3])Matrix([1,2], [3, 4])Matrix([1.0, 2.0], [3.0, 4.0])Matrix([1.0 + 2j, 3.0 - 4j], [5.0 + 6.0j, 7.0 + 8.0j])a = []; a = [a, a]; Matrix(a)对于b),你需要做的就是", "在每一行元素和每一行之间放置一个"\n".如果只有一个简单的方法来做到这一点......