Turtle Graphics with loops
Shapes
To start, let's try some basic designs without loops.
Square

import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.end_fill()
import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.fillcolor("green")
turtle.begin_fill()
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.end_fill()
Rectangle
Let's draw a rectangle using variables. In Python, you name a variable and assign it a value. Replace each length and angle with a variable.
import turtle
turtle.showturtle()
turtle.shape("turtle")
length1 = 100
length2 = 200
angle = 90
turtle.forward(length1)
turtle.right(angle)
turtle.forward(length2)
turtle.right(angle)
turtle.forward(length1)
turtle.right(angle)
turtle.forward(length2)
turtle.right(angle)
Zigzag
Star

import turtle
length = 25
angle = 45
turtle.showturtle()
turtle.shape("turtle")
turtle.forward(length)
turtle.right(angle)
turtle.forward(length)
turtle.left(angle)
turtle.forward(length)
turtle.right(angle)
turtle.forward(length)
turtle.left(angle)
turtle.forward(length)
turtle.right(angle)
turtle.forward(length)
turtle.left(angle)
turtle.forward(length)
turtle.right(angle)
turtle.forward(length)
Spiral

import turtle
length = 10
angle = 90
turtle.showturtle()
turtle.shape("turtle")
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
Loops
Loops are used when you have a block of code that you want to repeat.
A for loop is used when you have a block of code which you want to repeat a fixed number of times. The for loop iterates through the block of indented code.
for x in range():
x is a variable that steps through values
<do something>
do something in the indented block
for x in range(4):
print(x)
$ python for.py
0
1
2
3
4
Square
import turtle
turtle.showturtle()
turtle.shape("turtle")
for x in range(4):
turtle.forward(50)
turtle.right(90)
Spiral
import turtle
length = 10
angle = 90
turtle.showturtle()
turtle.shape("turtle")
for x in range(10):
turtle.forward(length+length)
turtle.right(angle)
length = length + 10
import turtle
angle = 91
turtle.showturtle()
turtle.shape("turtle")
for x in range(100):
turtle.forward(x)
turtle.left(angle)
import turtle
angle = 91
turtle.showturtle()
turtle.shape("turtle")
for x in range(100):
turtle.circle(x)
turtle.left(angle)
Polygons
Shape
Sides
Interior Angle
Triangle
3
60
Quadrilateral
4
90
Pentagon
5
108
Hexagon
6
120
Heptagon
7
128.571
Octagon
8
135
Nonagon
9
140
Decagon
10
144
Hendecagon
11
147.273
Dodecagon
12
150
import turtle
length = 100
angle = 120
turtle.showturtle()
turtle.shape("turtle")
for i in range(3):
turtle.forward(length)
turtle.right(angle)
Star
Using a loop, we can produce an eight point star.
import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.pencolor('green')
for x in range(13):
turtle.forward(200)
turtle.left(150)
What happens if we try changing the range and the left angle?
import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.pencolor('purple')
for x in range(100):
turtle.forward(200)
turtle.left(175)
Spiral Circle
import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.pencolor('pink')
for i in range(180):
turtle.forward(100)
turtle.right(30)
turtle.forward(20)
turtle.left(60)
turtle.forward(50)
turtle.right(30)
turtle.penup()
turtle.setposition(0, 0)
turtle.pendown()
turtle.right(2)
Last updated
Was this helpful?