Comment on page
Turtle Graphics with loops
To start, let's try some basic designs without loops.

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.
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)

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.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 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.py
for x in range(4):
print(x)
$ python for.py
0
1
2
3
4
square2.py
import turtle
turtle.showturtle()
turtle.shape("turtle")
for x in range(4):
turtle.forward(50)
turtle.right(90)
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)
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)
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.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)
Last modified 4yr ago