Good friend Dimitris, after reading my previous post pointed me to Koch snowflakes. How cool is a line of infinite length that covers a finite surface! A Koch snowflake turns out to be easily constructed with turtle as suggested by the Wikipedia article. Well, you also get to learn about Thue-Morse sequences and evil numbers in the process. To be honest, this is also a good toy case, using a real sequence, to learn how to use yield.
import turtle import functools # Compute the next digit of the Thue-Morse sequence # https://oeis.org/A010060 # Learn about evil and oddium numbers in the process. def thue_morse_seq(n=0): while True: yield functools.reduce(lambda x, y: x + y, map(int, bin(n)[2:])) % 2 n += 1 if __name__ == "__main__": window = turtle.Screen() window.bgcolor('light gray') pen = turtle.Turtle() pen.speed(20) pen.color('dark blue') pen.pensize(1) pen.shape('classic') pen.penup() pen.setpos(0, 0) pen.pendown() n = thue_morse_seq(0) while True: if next(n) == 0: pen.forward(2) else: pen.left(60)