Skip to content

Commit 5a24efa

Browse files
authored
Create Vector-class.py
1 parent e483795 commit 5a24efa

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

Codewars/Vector-class.py

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
class Vector:
2+
3+
def __init__(self, vector_list):
4+
self.vector_data = vector_list
5+
6+
def __str__(self):
7+
str_vector = ["("]
8+
for component in self.vector_data:
9+
str_vector.append(str(component))
10+
str_vector.append(")")
11+
return "".join(str_vector)
12+
13+
def equals(self, vector_list):
14+
return self.vector_data == vector_list.get_data()
15+
16+
17+
def get_data(self):
18+
return self.vector_data
19+
20+
def add(self, vector_list):
21+
str_vector = []
22+
if len(vector_list.get_data()) != len(self.vector_data):
23+
raise Exception("Length is not equal")
24+
for component in range(0,len(self.vector_data)):
25+
left_val = self.vector_data[component]
26+
right_val = vector_list.get_data()
27+
str_vector.append(left_val + right_val[component])
28+
29+
return Vector(str_vector)
30+
31+
def subtract(self, vector_list):
32+
str_vector = []
33+
if len(vector_list.get_data()) != len(self.vector_data):
34+
raise Exception("Length is not equal")
35+
for component in range(0,len(self.vector_data)):
36+
left_val = self.vector_data[component]
37+
right_val = vector_list.get_data()
38+
str_vector.append(left_val - right_val[component])
39+
40+
return Vector(str_vector)
41+
42+
def dot(self, vector_list):
43+
str_vector = []
44+
if len(vector_list.get_data()) != len(self.vector_data):
45+
raise Exception("Length is not equal")
46+
for component in range(0,len(self.vector_data)):
47+
left_val = self.vector_data[component]
48+
right_val = vector_list.get_data()
49+
sum_val = left_val * right_val[component]
50+
str_vector.append(sum_val)
51+
vector = Vector(str_vector).get_data()
52+
53+
return sum(vector)
54+
55+
def norm(self):
56+
pass
57+

0 commit comments

Comments
 (0)