mardi 2 décembre 2014

Printing an object python class


Vote count:

0




I wrote the following program:



def split_and_add(invoer):
rij = invoer.split('=')
rows = []
for line in rij:
rows.append(process_row(line))
return rows

def process_row(line):
temp_coordinate_row = CoordinatRow()
rij = line.split()
for coordinate in rij:
coor = process_coordinate(coordinate)
temp_coordinate_row.add_coordinaterow(coor)
return temp_coordinate_row

def process_coordinate(coordinate):
cords = coordinate.split(',')
return Coordinate(int(cords[0]),int(cords[1]))

bestand = file_input()
rows = split_and_add(bestand)
for row in range(0,len(rows)-1):
rij = rows[row].weave(rows[row+1])
print rij


With this class:



class CoordinatRow(object):

def __init__(self):
self.coordinaterow = []

def add_coordinaterow(self, coordinate):
self.coordinaterow.append(coordinate)

def weave(self,other):
lijst = []
for i in range(len(self.coordinaterow)):
lijst.append(self.coordinaterow[i])
try:
lijst.append(other.coordinaterow[i])
except IndexError:
pass
self.coordinaterow = lijst
return self.coordinaterow


However there is an error in



for row in range(0,len(rows)-1):
rij = rows[row].weave(rows[row+1])
print rij


The outcome of the print statement is as follows:



[<Coordinates.Coordinate object at 0x021F5630>, <Coordinates.Coordinate object at 0x021F56D0>]


It seems as if the program doesn't acces the actual object and printing it. What am i doing wrong here ?



asked 1 min ago







Printing an object python class

Aucun commentaire:

Enregistrer un commentaire