← RU Pythoncursus

Uitwerking: L-systemen

#! /usr/bin/env python

import turtle
import time

hoek = 72
lengte = 10
diepte = 3

regelinvoer = "F"
regeluitvoer = "F-F++F+F-F-F"


def herschrijf(S):
    resultaat = ""
    for c in S:
        if c == regelinvoer:
            resultaat += regeluitvoer
        else:
            resultaat += c
    return resultaat


def teken(S):
    for c in S:
        if c == "F":
            turtle.forward(lengte)
        elif c == "-":
            turtle.left(hoek)
        elif c == "+":
            turtle.right(hoek)

huidig = "F-F-F-F-F"


turtle.speed(0)
turtle.delay(0)

for _ in range(diepte):
    huidig = herschrijf(huidig)

teken(huidig)
time.sleep(2)
turtle.bye()