目标
定义一个 Python 类名为 V2,用于表示二维向量,支持下列向量运算:
- 由两个实数创建一个二维向量:如:
v = V2(1.1, 2.2)
- 将一个向量转换为字符串形式(使用__str__方法)
- 分解(得到x和y的值)
- 两个二维向量相加,得到新的二维向量(使用__add__方法)
- 支持数乘运算(使用__mul__方法)
编程
Step 1 初始化
使用__init__
和__str__
方法,当输入:print V2(1.1, 2.2)
时,打印:
V2[1.10, 2.20]
程序设计
class V2():
x=0
y=0
def __init__(self, xVal,yVal):
self.x = xVal
self.y = yVal
def __str__(self):
return "V2[%.2f, %.2f]" % (self.x, self.y)
效果:
>>> print(V2(1.1,2.2))
V2[1.10, 2.20]
>>>
Step 2 getX和getY
程序设计
class V2():
x=0
y=0
def __init__(self, xVal,yVal):
self.x = xVal
self.y = yVal
def __str__(self):
return "V2[%.2f, %.2f]" % (self.x, self.y)
def getX(self):
return self.x
def getY(self):
return self.y
效果:
>>> v.getX()
1.0
>>> v.getY()
2.0
>>> print(v)
V2[1.00, 2.00]
>>>
Step 3 add和mul
程序设计
版本一:
class V2():
x=0
y=0
def __init__(self, xVal,yVal):
self.x = xVal
self.y = yVal
def __str__(self):
return "V2[%.2f, %.2f]" % (self.x, self.y)
def getX(self):
return self.x
def getY(self):
return self.y
def add(self, v):
return "[%.2f, %.2f]" % (self.x+v.x, self.y+v.y)
def mul(self, k):
return "[%.2f, %.2f]" % (self.x*k, self