Draw Rainbow using Turtle Graphics in Python
Last Updated :
15 Oct, 2020
Improve
Turtle is an inbuilt module in Python. It provides:
- Drawing using a screen (cardboard).
- Turtle (pen).
To draw something on the screen, we need to move the turtle (pen), and to move the turtle, there are some functions like the forward(), backward(), etc.
Prerequisite: Turtle Programming Basics
Draw Rainbow Using Turtle Graphics
In this section, we will discuss how to draw a Rainbow using two different ways using Turtle Graphics.
Approach:
- Import Turtle.
- Set screen
- Make Turtle Object
- Define colors used for drawing
- Loop to draw semi-circles oriented by 180-degree position.
Example 1:
# Import turtle package
import turtle
# Creating a turtle screen object
sc = turtle.Screen()
# Creating a turtle object(pen)
pen = turtle.Turtle()
# Defining a method to form a semicircle
# with a dynamic radius and color
def semi_circle(col, rad, val):
# Set the fill color of the semicircle
pen.color(col)
# Draw a circle
pen.circle(rad, -180)
# Move the turtle to air
pen.up()
# Move the turtle to a given position
pen.setpos(val, 0)
# Move the turtle to the ground
pen.down()
pen.right(180)
# Set the colors for drawing
col = ['violet', 'indigo', 'blue',
'green', 'yellow', 'orange', 'red']
# Setup the screen features
sc.setup(600, 600)
# Set the screen color to black
sc.bgcolor('black')
# Setup the turtle features
pen.right(90)
pen.width(10)
pen.speed(7)
# Loop to draw 7 semicircles
for i in range(7):
semi_circle(col[i], 10*(
i + 8), -10*(i + 1))
# Hide the turtle
pen.hideturtle()
Output:

Example 2:
import turtle
mypen= turtle.Turtle()
mypen.shape('turtle')
mypen.speed(10)
window= turtle.Screen()
window.bgcolor('white')
rainbow= ['red','orange','yellow','green','blue','indigo','violet']
size= 180
mypen.penup()
mypen.goto(0,-180)
for color in rainbow:
mypen.color(color)
mypen.fillcolor(color)
mypen.begin_fill()
mypen.circle(size)
mypen.end_fill()
size-=20
turtle.done()
Output: