P
P
Python Classroom
K
Comment on page

# Turtle Graphics with loops

## Shapes

To start, let's try some basic designs without loops.

### Square square.py
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)
To add color to your design, wrap the following lines of code before and after the turtle movements.
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()
turtle.pencolor("red") # this statement changes the pen's color.

### 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.
rectangle.py
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) ### Star zigzag.py
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 spiral.py
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 in the indented block
for.py
for x in range(4):
print(x)
\$ python for.py
0
1
2
3
4

### Square

square2.py
import turtle
turtle.showturtle()
turtle.shape("turtle")
for x in range(4):
turtle.forward(50)
turtle.right(90)

### Spiral

spiral2.py
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 spiral3.py
import turtle
angle = 91
turtle.showturtle()
turtle.shape("turtle")
for x in range(100):
turtle.forward(x)
turtle.left(angle) circle.py
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
triangle.py
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. star1.py
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? star2.py
import turtle
turtle.showturtle()
turtle.shape("turtle")
turtle.pencolor('purple')
for x in range(100):
turtle.forward(200)
turtle.left(175)

### Spiral Circle spiral.py
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)