# Python Course 1: Turtle Graphics

## Useful Code

### Moving the Turtle

``````turtle.forward(100)
turtle.back(50)
turtle.right(90)
turtle.left(45)
turtle.goto(10,10)
turtle.home()

### Changing the Pen

``````turtle.pencolor('red')
turtle.penup()
turtle.pendown()
turtle.pensize(4)``````

### Changing the Board

``````turtle.reset()
turtle.bgcolor('blue')
turtle.showturtle()
turtle.hideturtle()``````

## Exercise

Draw the following

1. A square with sides of length 100
2. An equilateral triangle with sides of length 80
3. A noughts and crosses board
4. Draw a star by turning an angle of 144 degrees.
5. A red hexagon on a blue background.

# Lesson 2

The following program draws a purple square with a black border. Note the use of begin_fill() and end_fill()

``````import turtle

turtle.fillcolor('purple')
turtle.pencolor('black')

turtle.begin_fill()
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.end_fill()``````

The above requires a lot of cut and paste code: always a sign that there is a better way of doing things. Here’s one way:

``````import turtle

turtle.fillcolor('purple')
turtle.pencolor('black')

turtle.begin_fill()

for times in range(4):
turtle.forward(100)
turtle.left(90)

turtle.end_fill()``````

We are going to be drawing lots of squares. We can define the  code to draw a square as a function, that way we can reuse it. (Learning  to use functions is the main reason we are using turtle graphics!)

``````import turtle

def square():
for times in range(4):
turtle.forward(100)
turtle.left(90)

turtle.fillcolor('purple')
turtle.pencolor('black')

turtle.begin_fill()
square()
turtle.end_fill()``````

We can add a size parameter to the function. Now we can draw squares of different sizes.

``````import turtle

def square(size):
for times in range(4):
turtle.forward(size)
turtle.left(90)

square(50)
square(100)
square(200)``````

## Exercise

1) Enter the following code and run it. Make sure you understand what it’s doing.

``````import turtle

def square():
for times in range(4):
turtle.forward(100)
turtle.left(90)

for n in range(8):
square()
turtle.right(45)``````

2) What do you think the following code will do? Enter it and run it.

``````import turtle

def square(size):
for times in range(4):
turtle.forward(size)
turtle.left(90)

for n in range(8):
square(20*n)``````

3) Define a function to draw a triangle.
4) Use your triangle function to draw the following shape

## Extension

1. Write a function to draw a pentagon
2. Write a function to draw a hexagon
3. Draw a function that accepts a parameter number_of_sides that draws a  polygon with that number of sides
4. Write a function to draw a chessboard
5. Write a function to draw a honeycomb

This site uses Akismet to reduce spam. Learn how your comment data is processed.