class row(object):
def __init__(self,t):
assert type(t) in[type([]) , type((1,2))]
self.elements= tuple(t)
def __repr__(self):
return "row(%s)"% str(self.elements)
def __mul__(self,s):
assert type(s) in (type(0),type(0.0))
return row(tuple([s*x for x in self.elements]))
def __rmul__(self,s):
#return self.__mul__(s)
return self*s
def __len__(self):
return len(self.elements)
def __add__(self,other):
assert len(self)==len(other)
l=[]
for i in range(len(self.elements)):
l.append(self.elements[i]+other.elements[i])
return row(l)
def __getitem__(self,k):
return self.elements[k]