maksym.ka...@gmail.com a écrit :
Hi there. now i'm a complete newbie for python, and maybe my problem is stupid but i cannot solve it myself
Others already addressed your problem (cf Paul and Diez answers). I'll just allow myself to point a couple other potential problems with your code:
##worldmap module class GeoMap: cells = [] activerow = 0 activecol = 0
Attributes defined at the class level are *class* attributes, shared by all instances of the class - that is, all instances will access the one same 'cells' list. Instance attributes are canonically created in the initialize method (__init__) that is automagically called on instanciation. IOW, you want to replace the above lines with:
def __init__(self): self.cells = [] self.activerow = 0 self.activecol = 0
def addCell(self, acell): if len(self.cells) == 0:
An empty list evals to False in a boolean context, so the above can be simply expressed as:
if not self.cells:
self.cells.append([]) self.activerow = 0 acell.col = self.activerow acell.row = self.activecol self.cells[self.activerow].append(acell) self.activecol += 1 def addRow(self): self.cells.append([]) self.activerow += 1; self.activecol = 0; class GeoMapCell: neighbours = (None, None, None, None, None, None, ) col = 0 row = 0
Same remark as above. You want to move all this code to the __init__ method. -- http://mail.python.org/mailman/listinfo/python-list