When I first started exploring Python’s Turtle graphics, I was amazed at how simple commands could create beautiful drawings. But what elevated my projects was mastering nested loops. Nested loops in Python Turtle allow you to create complex and repetitive patterns with ease, turning basic shapes into captivating designs.
In this article, I’ll walk you through everything you need to know about using nested loops with Python Turtle. Whether you’re new to programming or looking to add some flair to your visual projects, this guide will help you get there quickly.
What is a Nested Loop in Python Turtle?
Simply put, a nested loop is a loop inside another loop. When working with Python Turtle, this means you can repeat a set of drawing instructions multiple times inside another repetition. This technique is perfect for creating patterns like grids, spirals, and tessellations.
From my experience, nested loops not only save time but also make your code cleaner and easier to manage when drawing repetitive designs.
Get Started: Set Up Python Turtle
Before diving into nested loops, make sure you have Python installed on your system. Python’s Turtle module comes built-in, so no extra installation is required.
Here’s a quick setup to get you started:
import turtle
screen = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0) # Fastest drawing speedMethod 1: Draw a Grid Using Nested Loops
One of the simplest yet most effective ways to understand nested loops is by drawing a grid of squares. This example is relatable to many USA-based projects, like plotting a city block layout or seating arrangement.
import turtle
screen = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0)
square_size = 20
rows = 10
columns = 10
for row in range(rows):
for col in range(columns):
pen.penup()
pen.goto(col * square_size, row * square_size)
pen.pendown()
for _ in range(4):
pen.forward(square_size)
pen.right(90)
pen.hideturtle()
screen.mainloop()You can see the output in the screenshot below.

How this works:
- The outer loop iterates over rows.
- The inner loop iterates over columns.
- For each cell, the turtle moves to the correct position and draws a square.
This approach is easy and perfect for beginners to grasp nested loops visually.
Read Python Turtle Oval
Method 2: Create Circular Patterns with Nested Loops
If you want to go beyond grids, nested loops can help create circular or radial patterns, which are common in art, logos, or even USA-themed designs like fireworks for the Fourth of July.
import turtle
screen = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0)
num_circles = 36
circle_radius = 50
for _ in range(num_circles):
pen.circle(circle_radius)
pen.right(360 / num_circles)
pen.hideturtle()
screen.mainloop()You can see the output in the screenshot below.

To make this a nested loop example, imagine drawing smaller circles inside each big circle:
import turtle
screen = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0)
num_circles = 12
small_circles = 6
big_radius = 100
small_radius = 20
for _ in range(num_circles):
pen.penup()
pen.forward(big_radius)
pen.pendown()
for _ in range(small_circles):
pen.circle(small_radius)
pen.right(360 / small_circles)
pen.penup()
pen.goto(0, 0)
pen.right(360 / num_circles)
pen.hideturtle()
screen.mainloop()What’s happening here:
- The outer loop moves the turtle around a big circle’s circumference.
- The inner loop draws smaller circles at each position.
This nested structure creates a beautiful flower-like pattern that’s visually engaging.
Check out the Python Turtle Cheat Sheet
Method 3: Use Nested Loops for Star Patterns
Stars are iconic in the USA flag and many patriotic designs. Using nested loops, you can create intricate star patterns.
import turtle
screen = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0)
def draw_star(size):
for _ in range(5):
pen.forward(size)
pen.right(144)
rows = 5
cols = 5
star_size = 30
spacing = 50
for row in range(rows):
for col in range(cols):
x = col * spacing - (cols * spacing) / 2
y = row * spacing - (rows * spacing) / 2
pen.penup()
pen.goto(x, y)
pen.pendown()
draw_star(star_size)
pen.hideturtle()
screen.mainloop()You can see the output in the screenshot below.

This code draws a 5×5 grid of stars centered on the screen. The nested loops handle the positioning, while the draw_star function takes care of the star shape.
Tips for Working with Nested Loops in Python Turtle
- Plan your pattern: Sketch your design on paper first to understand how many loops and iterations you need.
- Control the turtle’s speed: Use
pen.speed(0)for faster drawing when testing. - Use functions: Encapsulate repetitive drawing code in functions for cleaner, reusable code.
- Manage coordinates carefully: Use
pen.penup()andpen.goto(x, y)to move without drawing. - Experiment with colors: Add
pen.color()inside loops to create colorful patterns.
Nested loops are a powerful tool in Python Turtle that opens up endless creative possibilities. From grids to circular patterns and stars, mastering nested loops will enhance your ability to create visually appealing graphics efficiently.
I hope this guide helps you start creating your patterns and designs with Python Turtle. If you have questions or want to share your creations, feel free to reach out!
You may also read:

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.