What is Turtle Graphics in Python?
Turtle Graphics is a popular drawing library in Python that allows users to create pictures
and shapes by controlling a virtual "turtle" that moves around the screen. It is part of
Python’s standard library and is often used to introduce programming concepts to beginners
in a fun and interactive way.
The turtle module is based on a drawing board-like system where you can control the turtle's
movement using commands to create drawings, patterns, and even animations.
Key Concepts of Turtle Graphics
1. Turtle: This is the on-screen pen (or "turtle") that moves around and draws lines
based on commands you give.
2. Drawing Board (Screen): The area where the turtle draws shapes.
3. Commands: You control the turtle by giving commands like moving forward, turning
left or right, lifting the pen, or changing the pen's color.
Getting Started with Turtle
First, you need to import the turtle module. Here’s a simple example to draw a square:
Python Code:
import turtle
# Create a turtle object
my_turtle = turtle.Turtle()
# Drawing a square
for _ in 4: # Repeat 4 times
my_turtle.forward(100) # Move forward by 100 units
my_turtle.right(90) # Turn 90 degrees to the right
# Keep the window open until it is closed manually
turtle.done()
How Turtle Works
Move Forward: my_turtle.forward(100) makes the turtle move 100 units
forward.
Turn Right/Left: my_turtle.right(90) makes the turtle turn 90 degrees to the
right.
Drawing: As the turtle moves, it draws a line.
Screen: The turtle’s movements and drawings appear in a separate window called the
drawing board.
Common Turtle Commands
1. Movement:
o turtle.forward(x): Move the turtle forward by x units.
o turtle.backward(x): Move the turtle backward by x units.
o turtle.right(angle): Turn the turtle clockwise by angle degrees.
o turtle.left(angle): Turn the turtle counterclockwise by angle degrees.
2. Pen Control:
o turtle.penup(): Lift the pen so the turtle moves without drawing.
o turtle.pendown(): Put the pen down so the turtle draws as it moves.
o turtle.pensize(width): Set the thickness of the pen.
o turtle.pencolor(color): Set the color of the pen.
3. Screen Control:
o turtle.bgcolor(color): Change the background color of the drawing
window.
o turtle.clearscreen(): Clear everything on the screen.
4. Other Commands:
o turtle.circle(radius): Draw a circle with the given radius.
o turtle.speed(speed): Set the turtle's drawing speed (from 1 to 10
or fastest).
Example: Drawing a Star
Python code:
import turtle
# Create a turtle object
star_turtle = turtle.Turtle()
# Draw a star
for _ in range(5):
star_turtle.forward(150)
star_turtle.right(144) # Turn the turtle right by 144 degrees
# Keep the window open until manually closed
turtle.done()
Why Use Turtle Graphics?
Easy for Beginners: It introduces programming in a visual, engaging way.
Learn Control Flow: Helps beginners understand loops and functions while creating
drawings.
Fun: Creating colorful shapes and patterns makes learning to code more enjoyable.
SOME MORE EXAMPLES:
1. Drawing a Circle
Python code:
import turtle
# Create a turtle object
circle_turtle = turtle.Turtle()
# Draw a circle with a radius of 100
circle_turtle.circle(100)
# Keep the window open until closed manually
turtle.done()
2. Drawing a Triangle
Python code:
import turtle
# Create a turtle object
triangle_turtle = turtle.Turtle()
# Draw a triangle
for _ in range(3):
triangle_turtle.forward(100)
triangle_turtle.left(120) # Turn left by 120 degrees
# Keep the window open
turtle.done()
3. Drawing a Hexagon
Python code:
import turtle
# Create a turtle object
hexagon_turtle = turtle.Turtle()
# Draw a hexagon
for _ in range(6):
hexagon_turtle.forward(100)
hexagon_turtle.left(60) # Turn left by 60 degrees
# Keep the window open
turtle.done()
4. Spiral Pattern
This example creates a spiral pattern by increasing the length of each forward movement.
Python code:
import turtle
# Create a turtle object
spiral_turtle = turtle.Turtle()
# Draw a spiral
for i in range(50):
spiral_turtle.forward(i * 10) # Move forward by increasing distance
spiral_turtle.right(144) # Turn right by 144 degrees
# Keep the window open
turtle.done()
5. Star Pattern
This draws a 5-pointed star using loops.
python code:
import turtle
# Create a turtle object
star_turtle = turtle.Turtle()
# Draw a 5-pointed star
for _ in range(5):
star_turtle.forward(150) # Move forward
star_turtle.right(144) # Turn right by 144 degrees
# Keep the window open
turtle.done()
6. Flower Pattern
This example uses a loop to create a flower-like pattern by drawing multiple circles at
different angles.
Python code:
import turtle
# Create a turtle object
flower_turtle = turtle.Turtle()
# Draw a flower-like pattern with circles
for _ in range(36):
flower_turtle.circle(100) # Draw a circle
flower_turtle.left(10) # Turn left by 10 degrees after each
circle
# Keep the window open
turtle.done()
7. Square Spiral
This example shows how to create a square spiral using Turtle.
Python code:
import turtle
# Create a turtle object
spiral_turtle = turtle.Turtle()
# Draw a square spiral
for i in range(50):
spiral_turtle.forward(i * 10) # Increase the length of the sides
spiral_turtle.right(90) # Turn right by 90 degrees
# Keep the window open
turtle.done()
8. Colored Square Pattern
This example shows how to use multiple colors to create a pattern of squares.
python code:
import turtle
# Create a turtle object
color_turtle = turtle.Turtle()
# Set the turtle's speed to fast
color_turtle.speed(10)
# List of colors
colors = ["red", "blue", "green", "yellow", "purple", "orange"]
# Draw a pattern of squares with different colors
for i in range(36):
color_turtle.pencolor(colors[i % 6]) # Change color
for _ in range(4):
color_turtle.forward(100)
color_turtle.left(90)
color_turtle.left(10) # Rotate by 10 degrees
# Keep the window open
turtle.done()
9. Concentric Circles
This example draws multiple circles of increasing radius to create a pattern of concentric
circles.
python code:
import turtle
# Create a turtle object
concentric_turtle = turtle.Turtle()
# Draw concentric circles with increasing radius
for i in range(10, 110, 10):
concentric_turtle.circle(i) # Draw a circle with radius 'i'
concentric_turtle.penup() # Lift the pen to move to the next circle
concentric_turtle.goto(0, -i) # Adjust the position
concentric_turtle.pendown() # Put the pen down to start drawing
# Keep the window open
turtle.done()
10. Polygon Pattern
This example shows how to draw multiple polygons by increasing the number of sides.
Python code:
import turtle
# Create a turtle object
polygon_turtle = turtle.Turtle()
# Function to draw a polygon
def draw_polygon(sides, length):
for _ in range(sides):
polygon_turtle.forward(length)
polygon_turtle.left(360 / sides)
# Draw polygons with increasing number of sides
for i in range(3, 8):
draw_polygon(i, 100) # Draw polygons with sides from 3 (triangle) to 7
polygon_turtle.penup()
polygon_turtle.forward(150) # Move to the right for the next shape
polygon_turtle.pendown()
# Keep the window open
turtle.done()