def iterate(self, prod_, rule_):
        newProduction = ""
        for i in range(len(prod_)):
            step = self.production[i]
            if step == 'W':
                newProduction = newProduction + self.ruleW
            elif step == 'X':
                newProduction = newProduction + self.ruleX
            elif step == 'Y':
                newProduction = newProduction + self.ruleY
            elif step == 'Z':
                newProduction = newProduction + self.ruleZ
            elif step != 'F':
                newProduction = newProduction + step
        self.drawLength = self.drawLength * 0.5
        self.generations += 1
        return newProduction
dataset/ETHPy150Open jdf/processing.py/mode/examples/Topics/Fractals and L-Systems/PenroseTile/penrose_l_system.py/PenroseLSystem.iterate/original