from itertools import count from turtle import * import random # Based on this video by @mathletters on TikTok : # https://vm.tiktok.com/ZMLqmaYUt/ title('Sierpinski Triangle') screen = getscreen() screen.screensize(2000, 2000) screen.setworldcoordinates(0,0,100,100) hideturtle() penup() speed(0) def draw_point(point): penup() goto((point)) pendown() dot(2) penup() def middlepoint(point1, point2): return (point1[0]+point2[0])/2, (point1[1]+point2[1])/2 corners = [(10,10), (90,10), (50,90)] last_point = (50,50) for i in count(0): # write i in the title title(f'Sierpinski Triangle - {i}') # randomly select one of the corners corner = random.choice(corners) # draw a point halfway between the last point and the selected corner current_point = middlepoint(last_point, corner) draw_point(current_point) last_point = current_point