Informatika2-2014/FeladatVektorok

A MathWikiből
class Vector:
 
  def __init__(self,k):
    self.k = k
    self.coordinates = [0] * k
 
  def set(self,coordinates):
    self.coordinates = coordinates
    if len(self.coordinates) != self.k:
      self.k = len(self.coordinates)
 
  def set(self,idx,val):
    if self.k > idx:
      self.coordinates[idx] = val
 
  def __add__(self,other):
    if self.k == other.k:
      result = Vector(self.k)
      for i in range(self.k):
        result.coordinates[i] = self.coordinates[i] + other.coordinates[i]
      return result
    else:
      print "vectors with different size"
 
  def  __sub__(self,other):
    if self.k == other.k:
      result = Vector(self.k)
      for i in range(self.k):
        result.coordinates[i] = self.coordinates[i] - other.coordinates[i]
      return result
    else:
      print "vectors with different size"
 
  def  __mul__(self,other):
    if self.k == other.k:
      result = 0
      for i in range(self.k):
        result  += self.coordinates[i] * other.coordinates[i]
      return result
    else:
      print "vectors with different size"
      return 0
 
  def __repr__(self):
    return str(self.coordinates)
 
vector_a = Vector(2)
vector_b = Vector(2)
 
vector_a.set(0,1)
vector_a.set(1,2)
vector_b.set(0,2)
vector_b.set(1,3)
 
print vector_a
 
print vector_b
 
vector_c = vector_a + vector_b
vector_d = vector_a - vector_b
vector_e = vector_a * vector_b
print vector_c
print vector_d
print vector_e
Személyes eszközök