# coding=utf-8
import math
class Vector(object):
"""docstring for Vector"""
"""根据坐标轴列表输入 创建向量, 并创建该向量所处的空间维度"""
def __init__(self, coordinates):
super(Vector, self).__init__()
try:
if not coordinates:
raise ValueError
self.coordinates = tuple(coordinates)
self.dimension = len(coordinates)
except ValueError:
raise ValueError('The coordinates must be nonempty')
except TypeError:
raise TypeError('The coordinates must be an iterable')
# '''能够使python的内置print函数 输出向量坐标轴'''
def __str__(self):
return 'Vector: {}'.format(self.coordinates)
def __eq__(self, v):
return self.coordinates == v.coordinates
# 计算向量长度
def calculateSize(self):
result = 0
num = len(self.coordinates)
for i in range(num):
result +=self.coordinates[i] * self.coordinates[i]
result = math.sqrt(result)
return round(result,3)
# 将向量归一化
def standardizaiton(self):
size = self.calculateSize()
new_corrdinate = [round(x/size,3) for x in self.coordinates]
return Vector(new_corrdinate)
myVector = Vector([-0.221,7.437])
myVector2 = Vector([5.581,-2.136])
myVector3 = Vector([8.813,-1.331,-6.247])
myVector4 = Vector([1.996,3.108,-4.554])
print myVector.calculateSize()
print myVector2.standardizaiton()
print myVector3.calculateSize()
print myVector4.standardizaiton()
# 输出结果
# 7.44
# Vector: (0.934, -0.357)
# 10.884
# Vector: (0.34, 0.53, -0.777)
# [Finished in 0.1s]
# coding=utf-8
import math
class Vector(obj