实现 Vector 类,并完成 __init__(self, data) 方法。 实现 __len__(self) 特殊方法,能够通过 len(vector) 获取到向量的维度。实现 __str__(self) 特殊方法,能够通过 print(vector) 获取到向量的元素。实现向量的加法运算,如 vec3 = vec1 + vec2 。 实现向量的内积运算
时间: 2023-05-22 09:03:45 浏览: 65
以下是你想要的答案:
class Vector:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
def __str__(self):
return str(self.data)
def __add__(self, other):
if len(self.data) != len(other.data):
raise ValueError("The vectors must have the same size.")
return Vector([self.data[i] + other.data[i] for i in range(len(self.data))])
def dot(self, other):
if len(self.data) != len(other.data):
raise ValueError("The vectors must have the same size.")
return sum([self.data[i] * other.data[i] for i in range(len(self.data))])
# Example usage
v1 = Vector([1, 2, 3])
v2 = Vector([4, 5, 6])
print(len(v1)) # Output: 3
print(v2) # Output: [4, 5, 6]
v3 = v1 + v2
print(v3) # Output: [5, 7, 9]
print(v1.dot(v2)) # Output: 32
阅读全文