设计一个三维向量类(Vector),包含x, y, z三个坐标,默认为0。请通过重载操作符的形式实现简单的向量加法和减法。 按照样例输入两个三维向量的坐标值,求两者相加与相减的结果并格式化输出
时间: 2024-03-08 12:46:08 浏览: 91
好的,这里是一个通过重载操作符实现向量加法和减法的三维向量类。
```python
class Vector:
def __init__(self, x=0, y=0, z=0):
self.x = x
self.y = y
self.z = z
def __str__(self):
return f"({self.x}, {self.y}, {self.z})"
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y, self.z + other.z)
def __sub__(self, other):
return Vector(self.x - other.x, self.y - other.y, self.z - other.z)
```
这个向量类包含了三个坐标值 x, y, z,默认为0。其中,我们重载了两个操作符:
- `__add__(self, other)`:向量加法,返回两个向量相加的结果。
- `__sub__(self, other)`:向量减法,返回两个向量相减的结果。
接下来,我们可以按照样例输入两个三维向量的坐标值,求两者相加与相减的结果并格式化输出。
```python
v1 = Vector(1, 2, 3)
v2 = Vector(4, 5, 6)
v3 = v1 + v2
v4 = v1 - v2
print(f"v1 = {v1}")
print(f"v2 = {v2}")
print(f"v1 + v2 = {v3}")
print(f"v1 - v2 = {v4}")
```
输出结果为:
```
v1 = (1, 2, 3)
v2 = (4, 5, 6)
v1 + v2 = (5, 7, 9)
v1 - v2 = (-3, -3, -3)
```
这样,我们就可以方便地对向量进行加减操作了。
阅读全文