
In this tutorial, we will learn how to Create Analog Clock in Python using Turtle module. Analog clocks are also called wall clock.
Before we start learning to Create Analog Clock in Python using Turtle, be sure that you know the Turtle module basics because we will use it everywhere in the code along with the Python language. If you don’t know how to draw something with Python’s turtle module or need some help, click here to get help anytime.
Now, we are ready to start with confidence, so let’s start.
First, we will import the required modules.
import turtle
import time
Then, we will set some parameters like creating a screen, setting the background color, setting up geometry, title, and tracer of our turtle window.
screen = turtle.Screen()
screen.bgcolor("white")
screen.setup(width=600, height=600)
screen.title("Ghadi")
screen.tracer(0)Then, we will create/initalize the turtle module
kalam = turtle.Turtle()
We will then hide the turtle/pen
kalam.hideturtle()
Now, we will set the speed of the turtle using speed() function
kalam.speed(0)
We will also set the size of the pen/turtle using pensize() function
kalam.pensize(3)
Then we have created a function(ghadi_bana) which will be used to create/draw the clock, here we will see the code only, we will understand it using comments later.
def ghadi_bana(ghantaa, minutee, secondd, kalam):
kalam.up()
kalam.goto(0, 210)
kalam.setheading(180)
kalam.color("red")
kalam.pendown()
kalam.circle(210)
kalam.up()
kalam.goto(0, 0)
kalam.setheading(90)
for z in range(12):
kalam.fd(190)
kalam.pendown()
kalam.fd(20)
kalam.penup()
kalam.goto(0, 0)
kalam.rt(30)
hands = [("black", 80, 12), ("black", 150, 60), ("black", 110, 60)]
time_set = (ghantaa, minutee, secondd)
for hand in hands:
time_part = time_set[hands.index(hand)]
angle = (time_part/hand[2])*360
kalam.penup()
kalam.goto(0, 0)
kalam.color(hand[0])
kalam.setheading(90)
kalam.rt(angle)
kalam.pendown()
kalam.fd(hand[1])Now, we will create a while loop which will handle the hands of our Analog Clock. We will be creating three hands as a wall clock have for hours, minutes, and seconds. Check the code below:
while True:
ghantaa = int(time.strftime("%I"))
minutee = int(time.strftime("%M"))
secondd = int(time.strftime("%S"))
ghadi_bana(ghantaa, minutee, secondd, kalam)
screen.update()
time.sleep(1)
kalam.clear()Now, let’s see the complete code, and we will use the comments to understand our “Create Analog Clock in Python using Turtle” project in more details.
Code To Create Analog Clock in Python using Turtle
import turtle
import time
screen = turtle.Screen() #turtle screen
screen.bgcolor("white") #background of the screen
screen.setup(width=600, height=600) #geometry of the GUI
screen.title("Ghadi") #title of the GUI
screen.tracer(0) #tracer for the GUI
kalam = turtle.Turtle() #the turtle
kalam.hideturtle() #make the turtle invisible
kalam.speed(0) #setting the speed to 0
kalam.pensize(3) #setting the pensize to 3
def ghadi_bana(ghantaa, minutee, secondd, kalam): #function with 4 parameters
kalam.up() #not ready to draw
kalam.goto(0, 210) #positioning the turtle
kalam.setheading(180) #setting the heading to 180
kalam.color("red") #setting the color of the pen to red
kalam.pendown() #starting to draw
kalam.circle(210) #a circle with the radius 210
kalam.up() #not ready to draw
kalam.goto(0, 0) #positioning the turtle
kalam.setheading(90) #same as seth(90) in newer version
for z in range(12): #loop
kalam.fd(190) #moving forward at 190 units
kalam.pendown() #starting to draw
kalam.fd(20) #forward at 20
kalam.penup() #not ready to draw
kalam.goto(0, 0) #positioning the turtle
kalam.rt(30) #right at an angle of 30 degrees
hands = [("black", 80, 12), ("black", 150, 60), ("black", 110, 60)] #the color and the hands set
time_set = (ghantaa, minutee, secondd) #setting the time
for hand in hands: #loop
time_part = time_set[hands.index(hand)] #time part in the hand index in hands of time_Set
angle = (time_part/hand[2])*360 #setting the angle for the clock
kalam.penup() #not ready to draw
kalam.goto(0, 0) #positioning the turtle
kalam.color(hand[0]) #setting the color of the hand
kalam.setheading(90) #same as seth(90)
kalam.rt(angle) #right at an angle of "right"
kalam.pendown() #ready to draw
kalam.fd(hand[1]) #forward at a unit of 1st index of the hand var
while True:
ghantaa = int(time.strftime("%I")) #setting the hour from the time module
minutee = int(time.strftime("%M")) #setting the minute from the time module
secondd = int(time.strftime("%S")) #setting the second as above
ghadi_bana(ghantaa, minutee, secondd, kalam) #calling the ghanta_bana() function with the given parameters
screen.update() #updating the scren
time.sleep(1) #making the code sleep for a second with the time module
kalam.clear() #clearing the penOutput:

Thank you for reading till the end.
Keep Learning, Keep Coding
Also Read:
- Radha Krishna using Python Turtle
- Drawing letter A using Python Turtle
- Wishing Happy New Year 2023 in Python Turtle
- Snake and Ladder Game in Python
- Draw Goku in Python Turtle
- Draw Mickey Mouse in Python Turtle
- Happy Diwali in Python Turtle
- Draw Halloween in Python Turtle
- Write Happy Halloween in Python Turtle
- Draw Happy Diwali in Python Turtle
- Extract Audio from Video using Python
- Drawing Application in Python Tkinter
- Draw Flag of USA using Python Turtle
- Draw Iron Man Face with Python Turtle: Tony Stark Face
- Draw TikTok Logo with Python Turtle
- Draw Instagram Logo using Python Turtle
- I Love You Text in ASCII Art
- Python Turtle Shapes- Square, Rectangle, Circle
- Python Turtle Commands and All Methods
- Happy Birthday Python Program In Turtle


