Skip to content

Commit 8a62beb

Browse files
authored
Merge pull request #52 from code4tomorrow/Citrus716-vector2
Added vector2
2 parents 7e53e96 + 4068dee commit 8a62beb

File tree

1 file changed

+59
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)