我正在努力让这个工作,因为我能找到的所有答案大多数答案都集中在numpy数组中的向量而不是像我的类(OOP). (我希望我以正确的方式表达所有这些,请原谅,如果我不是).
我想找到一个向量(x,y)的大小,这是我的代码:
class Vector(object):
def __init__(self, x, y):
self.x = x
self.y = y
我有代码可以对两个向量求和,但是如何用这个等式得到幅度:
magnitude = math.sqrt(sum(向量中v为v ** 2))
这是我的代码,但它没有给我我需要的东西:
def vector_mag(self):
x_vector = self.x
y_vector = self.y
vector = (x_vector, y_vector)
magnitude = math.sqrt(sum(v**2 for v in vector))
return Vector(magnitude)
这会产生一个错误:
line 22, in
print vector.vector_mag()
line 14, in vector_mag
return Vector(magnitude)
TypeError: init() takes exactly 3 arguments (2 given)
所以当我在返回部分添加另一个“字符串”时,这样……:
return Vector(“Vector magnitude is:”, magnitude)
……程序运行但结果却很奇怪.
我究竟做错了什么