def midPoint(point1,point2):
return [(point1[0]-point2[0])/2,(point1[1]-point2[1])/2]
def seirpinski(t1,t2,t3,t4,t5,x0,iterations):
fractal=[t1,t2,t3,t4,t5]
points=[x0]
x=x0
for i in range(iterations):
rand=floor(5*random())
x=midPoint(fractal[rand],x)
points.append(x)
return points
s=seirpinski([0,0],[.5,.5],[1,0],[.5,.5],[.5,.5],[.2,.4],500000)
show(list_plot(s,size=1))