Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Podstawowe działania na wektorach
- from random import uniform
- class Vector:
- def __init__(self, n = 3):
- self.size = n
- def random_vector_generator(self):
- self.values = []
- for i in range(self.size):
- self.values.append(uniform(-10, 10))
- print (self.values)
- def vector_from_list(self, lista):
- if type(lista) == list and len(lista) == self.size:
- self.values = lista
- print (self.values)
- def adding_vectors(self, other):
- if self.size != other.size:
- return "ValueError"
- else:
- for i in range(self.size):
- self.values[i] = self.values[i] + other.values[i]
- return self.values
- def __add__(self, other):
- self.adding_vectors(other)
- def subtracting_vectors(self, other):
- if self.size != other.size:
- raise ValueError
- else:
- for i in range(self.size):
- self.values[i] = self.values[i] - other.values[i]
- return self.values
- def __sub__(self, other):
- self.subtracting_vectors(other)
- def scalar_product(self, scalar = 1):
- new_vector = Vector(self.size)
- new_vector_values = []
- for i in range(self.size):
- new_vector_values.append(self.values[i]*scalar)
- return new_vector.vector_from_list(new_vector_values)
- def vector_scalar_product(self, other):
- if self.size == other.size:
- new_vector = Vector(self.size)
- new_vector_values = []
- for i in range(self.size):
- new_vector_values.append(self.values[i] * other.values[i])
- return new_vector.vector_from_list(new_vector_values)
- else:
- raise ValueError
- def __mul__(self, other):
- if isinstance(other, Vector):
- self.vector_scalar_product(other)
- elif isinstance(other, int):
- self.scalar_product(other)
- else:
- raise ValueError
- def __rmul__(self, other):
- self.scalar_product(other)
- def length_of_vector(self):
- length = 0
- for i in self.values:
- length +=i**2
- return length**(1/2)
- def summary_of_values(self):
- summary = 0
- for i in self.values:
- summary += i
- return summary
- def vector_product(self, other):
- if self.size != 3 and other.size != 3:
- raise ValueError
- else:
- new_vector = Vector(self.size)
- new_vector.vector_from_list([self.values[1] * other.values[2] - self.values[2] * other.values[1], self.values[2] * other.values[0] - self.values[0] * other.values[2], self.values[0] * other.values[1] - self.values[1] * other.values[0]])
- return new_vector
- v1 = Vector()
- v2 = Vector()
- v1.random_vector_generator()
- v2.vector_from_list([1,2,3])
- v1.vector_scalar_product(v2)
- v1*v2
- v1*5
- 5*v1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement