class Cell(object): def __init__(self, alive): self.neighborhood = [] self.alive = alive def evaluate(self): s = sum(x.alive for x in self.neighborhood) self._alive = 1 if s == 3 or (s == 4 and self.alive == 1) else 0 def update(self): self.alive = self._alive