我需要一些帮助,尤其是 b)。谢谢
为矩阵定义一个类如下:
(a) 提供一个 __init__
的实现,它将列表的列表作为输入
并返回一个新的矩阵类型对象。
对于矩阵 A =
1 2
3 4
用户可以输入 A = matrix( [[1,2],[3,4]])
。
(b) 提供 __repr__
的实现,它返回矩阵的字符串表示,在单独的行中打印每一行,例如打印A
作为:
1, 2
3, 4
最佳答案
对于 a),这实际上取决于您要如何存储矩阵。按原样将矩阵存储为列表的列表可能适合大多数用途,但我不知道您的用途到底是什么。矩阵具有列表列表所缺乏的约束(所有行具有相同数量的相同类型的项目);这将由这个类(class)来确保这些限制是正确的。也就是说,如果这是整个作业,只需按原样使用列表列表就可以了。
因此,您可能希望对输入进行一些双重检查。 len()
方法会派上用场。
这是你的构造函数需要能够处理的,最终使用异常:
矩阵([])
Matrix("Hi")
矩阵([1])
矩阵([1], [2])
矩阵([1], [2, 3])
矩阵([1,2], [3, 4])
矩阵([1.0, 2.0], [3.0, 4.0])
矩阵([1.0 + 2j, 3.0 - 4j], [5.0 + 6.0j, 7.0 + 8.0j])
a = [];一 = [一个, 一个];矩阵(a)
对于 b),好吧,您需要做的就是在每一行元素之间放置一个 ", "
并在每一行之间放置一个 "\n"
。 If only there was an easy way to do that...
关于python - 矩阵类定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5391401/