Draw a Flower using Turtle in Python
Last Updated :
15 Jul, 2025
We are given the task of drawing a flower using Turtle Graphics in Python. Our goal is to create a design that looks like a flower with multiple petals arranged in a circular pattern. We will do this by using loops to repeat the petal shape and turtle commands to draw and rotate the petals, forming a complete flower.
Steps to draw a flower:
- Import the turtle module: We'll need the turtle module to access its commands.
- Set the speed of the turtle: Adjust the speed of the turtle to make the drawing process faster.
- Draw the flower petals: We will use loops to draw multiple petals to form the flower shape.
- Add color: We'll use begin_fill() and end_fill() to fill the petals and center of the flower with colors.
- Experiment with loops and angles: Loops will allow us to repeat drawing the petals multiple times, making the process efficient.
Example 1: In this example, we will create a basic flower with six petals. The turtle will use loops to draw each petal repeatedly, making the drawing process more efficient. We'll also fill the petals with color and draw a yellow center for the flower.
Python
import turtle
screen = turtle.Screen()
screen.bgcolor("white")
flower = turtle.Turtle()
flower.speed(10)
flower.pencolor("purple")
# Draw a single petal
def draw_petal():
flower.circle(100, 60)
flower.left(120)
flower.circle(100, 60)
flower.left(120)
# Draw all petals
for _ in range(6):
draw_petal()
flower.left(60)
# flower center
flower.penup()
flower.goto(0, -40)
flower.pendown()
flower.begin_fill()
flower.color("yellow")
flower.circle(40)
flower.end_fill()
# Hide turtle and wait for click
flower.hideturtle()
screen.exitonclick()
Output
FlowerExplanation:
- draw_petal() function defines the shape of a single petal. The turtle draws a circular arc and turns to form each side of the petal. We repeat this process 6 times using a for loop to form the entire flower.
- Flower Center: After drawing the petals, we move the turtle to the center of the flower and draw a yellow-filled circle to represent the flower's center.
Example 2: In this more advanced example, we will create a flower with more intricate petals and leaves. The petals have different shapes and curves and we will add green leaves around the flower to enhance its appearance.
Python
import turtle
# initial position
turtle.penup()
turtle.goto(10, -10)
turtle.pendown()
# Flower base
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# Petal 1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# Petal 2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# Leaves 1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
# Leaves 2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
# End drawing
turtle.done()
Output
Explanation:
- Use circular arcs, lines and turns to create the base, filled with red using begin_fill() and end_fill().
- Draw two petals using multiple circular arcs with varying angles and directions for a smooth shape.
- Draw leaves around the flower using the circle() command and fill them with green.
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice