Open In App

Draw a Flower using Turtle in Python

Last Updated : 09 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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

Output

Flower

Explanation:

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


Next Article
Article Tags :
Practice Tags :

Similar Reads