Python For GCSE
Turtle Graphics - Some Examples
Drawing A Clockface
import turtle as t def draw_clock(): t.delay(5) t.speed(10) for i in range(12): t.pu() t.goto(0,0) t.setheading(i*30+90) t.fd(190) t.pd() t.fd(10) t.pu() t.goto(0,-200) t.setheading(0) t.pd() t.circle(200) draw_clock()
Drawing Axes For A Graph
This program sets up some axes for a basic graph. With some extra code, you could plot a graph on top of this.
import turtle as t def draw_grid(): t.pu() t.goto(-300,0) t.pd() # turn off animation t.delay(0) t.speed(0) # x axis t.setheading(0) for i in range(12): t.lt(90) t.fd(5) t.rt(180) t.fd(10) t.bk(5) t.setheading(0) t.fd(50) t.lt(90) t.fd(5) t.rt(180) t.fd(10) t.bk(5) t.pu() t.goto(0,-300) t.setheading(90) t.pd() # y axis for i in range(12): t.lt(90) t.fd(5) t.rt(180) t.fd(10) t.bk(5) t.setheading(90) t.fd(50) t.lt(90) t.fd(5) t.rt(180) t.fd(10) t.bk(5) t.setheading(90) # animate again t.speed(5) t.delay(5)
Sierpinski Triangle
There are several ways to construct the Sierpinski triangle. This method is called the Chaos Game. You start with an equilateral triangle. Draw a dot somewhere in the triangle. Choose one of the triangle's vertices at random. Draw a dot halfway from the current dot to that vertex. Repeat many times. The pattern shown below always emerges.
import turtle as t from random import choice # starting point t.pu() t.lt(90) t.fd(300) t.pd() # set up an equilateral triangle v = [] v.append(t.pos()) t.rt(150) t.fd(600) v.append(t.pos()) t.rt(120) t.fd(600) v.append(t.pos()) t.goto(v[0]) t.pu() t.home() # turn animation off t.speed(0) t.delay(0) t.ht() # choose random vertex # travel half distance # draw dot for i in range(10000): p = choice(v) # point at vertex at p t.seth(t.towards(p)) # travel half distance t.fd(t.distance(p)/2) # dot t.dot(2, "black")