2.定义一个二维向量类V2,实现二维向量的加法、减法和内积运算。要求向量使用元组输入。
时间: 2024-02-24 21:57:52 浏览: 30
好的,我可以帮你定义一个二维向量类V2,以下是代码实现:
```python
class V2:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return V2(self.x + other.x, self.y + other.y)
def __sub__(self, other):
return V2(self.x - other.x, self.y - other.y)
def dot(self, other):
return self.x * other.x + self.y * other.y
```
以上代码中,我们定义了一个V2类,包含了初始化函数、加法、减法和内积运算。其中,初始化函数接受两个参数x和y,表示二维向量的两个分量。加法和减法运算使用了Python中的魔法方法__add__和__sub__,分别实现了向量的加法和减法。内积运算使用了dot函数,计算了两个向量的内积。
使用元组输入时,可以这样实例化一个二维向量:
```python
v1 = V2(1, 2)
v2 = V2(3, 4)
```
然后可以进行加法、减法和内积运算:
```python
v3 = v1 + v2
print(v3.x, v3.y) # 输出:4 6
v4 = v1 - v2
print(v4.x, v4.y) # 输出:-2 -2
dot_product = v1.dot(v2)
print(dot_product) # 输出:11
```
希望这个二维向量类对你有所帮助!