Tests

Submitted by hacyran on Wed, 06/30/2021 - 09:40
class lsystem(object):
    def __init__(self,axiom,angle,rules):
        self.axiom = axiom
        self.angle = angle
        self.rules = {}
        for rule in rules:
            # a rule is like "F:F+FF-F"  - separator can be any character
            self.rules[rule[0]] = rule[2:]
    def generation(self,age):
        if age == 0:
            return self.axiom
        r = ''
        for symbol in self.generation(age-1):
            for rule in self.rules:
                if rule == symbol:
                    r += self.rules[rule]
            if symbol not in self.rules:
                r += symbol
        return r