问题描述
我是学习Python的新手。我一直在写一个数组类,并创建许多方法来操纵数组。这非常有趣。为了说明这一点,我创建了一个网格类来创建一个二维数组。但是现在我被这条指令所困扰:
“开发使用内置运算符进行算术运算的矩阵类(这是用于矩阵算术的。矩阵类应扩展网格类。”
我对如何弄清楚网格之间的算法很有信心。但是,我不理解在矩阵类中扩展网格类的部分。只是玩弄它,我在矩阵类中有以下代码:
from grid import Grid
class Matrix:
def __init__(self,rows,columns,fillValue):
self.data = Grid(rows,fillValue)
这是我的网格课:
"""
File: grid.py
"""
from arrays import Array
class Grid(object):
"""Represents a two-dimensional array."""
def __init__(self,fillValue = None):
self.data = Array(rows)
for row in range(rows):
self.data[row] = Array(columns,fillValue)
def getHeight(self):
"""Returns the number of rows."""
return len(self.data)
def getWidth(self):
"Returns the number of columns."""
return len(self.data[0])
def __getitem__(self,index):
"""Supports two-dimensional indexing with [][]."""
return self.data[index]
def __str__(self):
"""Returns a string representation of the grid."""
result = ""
for row in range(self.getHeight()):
for col in range(self.getWidth()):
result += str(self.data[row][col]) + " "
result += "\n"
return result
def main():
g = Grid(10,10,1)
print(g.getHeight())
if __name__ == "__main__":
main()
我对如何在矩阵类中正确扩展网格类感到困惑。我了解导入声明的重要性;但是,我对如何正确地编写构造函数以使该语句感到困惑
m1 = Matrix(3,3,2)
print(m1)
会将这些参数传递给网格类并正确创建网格。例如,print语句给出以下输出:<__main__.Matrix object at 0x000001CD65A77970>
如果我正确理解这一点,那应该已经打印出了一个实际的数字网格,而我对为什么不是这样感到困惑。任何想法肯定会帮助我!!!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)