我试图为一个向量创建一个类,因此输入的数量取决于向量的维数。下面是我的代码:
class vector:
def __init__(self, entries):
self.elements = []
self.dimensionality = len(entries)
for entry in entries:
self.elements.append(entry)
def __str__(self):
buff = "("
for e in self.elements:
buff += str(e)
if self.elements.index(e) < len(self.elements) - 1:
buff += ", "
buff += ")"
return buff
def __mul__(self, otherVector):
if self.dimensionality != otherVector.dimensionality:
raise RuntimeError("Cannot multiply vectors of different dimensions")
else:
product = 0
for e in self.elements:
product += e * otherVector.elements[self.elements.index(e)]
return product
def __eq__(self, otherVariable):
return size(self) == size(otherVariable)
def size(x):
norm = 0
for e in x.elements:
norm += e**2
return norm**(1/2)
正如你现在看到的,我只是把一个列表作为一个输入,所以我不需要处理这个问题,但是我想下一步做矩阵,这需要一个列表列表,这是一个非常乏味的输入信息的方法。有人知道如何创建一个参数数目灵活的类吗
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐