Skip to content

Commit 46c398f

Browse files
authored
Added vector2
1 parent 7e53e96 commit 46c398f

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
class Vector:
2+
"""
3+
Constructor
4+
5+
self: a reference to the object we are creating
6+
vals: a list of integers which are the contents of our vector
7+
"""
8+
def __init__(self, vals):
9+
self.vals = vals
10+
# print("Assigned values ", vals, " to vector.")
11+
12+
"""
13+
String Function
14+
15+
Converts the object to a string in readable format for programmers
16+
"""
17+
def __str__(self):
18+
return str(self.vals)
19+
20+
"""
21+
Elementwise power: raises each element in our vector to the given power
22+
"""
23+
def __pow__(self, power):
24+
return Vector([i**power for i in self.vals])
25+
26+
"""
27+
Addition: adds each element to corresponding element in other vector
28+
"""
29+
def __add__(self, vec):
30+
return Vector([self.vals[i] + vec.vals[i] for i in range(len(self.vals))])
31+
32+
"""
33+
Multiplies each element in the vector by a specified constant
34+
"""
35+
def __mul__(self, constant):
36+
return Vector([self.vals[i] * constant for i in range(len(self.vals))])
37+
38+
"""
39+
Elementwise subtraction: does the same as addition, just subtraction instead
40+
"""
41+
def __sub__(self, vec):
42+
return self + (vec * (-1))
43+
44+
vec = Vector([2, 3, 2])
45+
otherVec = Vector([3, 4, 5])
46+
print(str(vec)) # [2, 3, 2]
47+
print(vec ** 2) # [4, 9, 4]
48+
print(vec - otherVec) # [-1, -1, -3]
49+
print(vec + otherVec) # [5, 7, 7]
50+
print(vec * 5) # [10, 15, 10]

0 commit comments

Comments
 (0)