Teach Your Kids to Code by Using the Turtle Library

Coding for kids not only helps them to improve mathematics and problem-solving skills but also encourages them to be more confident in life and eventually in the workforce.
Doing and making positive programming for young people is so important to me, and I will keep doing it.
Among all the programming languages, Python is the most suitable one for kids to learn. It is used in college courses and by many tech companies like Google and IBM. However, without graphics, it is not intuitive to understand for a young kid. Fortunately, the Turtle Library is the rescue.
The Turtle Library is a popular way to introduce a young kid to start programming. It was part of the original Logo programming language developed by Wally Feurzeig, Seymour Papert, and Cynthia Solomon in 1967.
Now, let’s first have a look at a few examples.
Example 1: Draw a square

from turtle import *home()
speed(1)goto(-100,-100)for i in range(4):
forward(200)
left(90)turtle.done()
Example 2: Draw a rainbow

import turtle
import colorsysturtle.speed(0)
turtle.hideturtle()
turtle.bgcolor('light blue')
turtle.title('49-Color Rainbow')
turtle.setup(700,700)
num_colors = 49radius = 300
penwidth = 20*7/num_colors
hue = 0
for i in range(num_colors):
(r,g,b) = colorsys.hsv_to_rgb(hue,1,1)
draw_one_color_arc(0,-100,radius,penwidth,(r,g,b))
radius -= (penwidth-1) #overlapping a little removes the gaps
hue += 0.9/num_colors
Example 3: Draw a house
Example 4: Draw a Sudoku board

There is a collection of useful commands that is important to create the above artwork and games. So let’s list a few of them.
Basic Moving Commands
turtle.forward(x)
: Moves the turtle forward in the direction it is facing by x stepsturtle.back(x)
: Moves the turtle backward from its facing direction by x stepsturtle.left(d)
: Turns the turtle degrees counterclockwiseturtle.right(d)
: Turns the turtle x degrees clockwiseturtle.goto(x,y=None)
: Move the turtle to an absolute position. If the pen is down, draw a line.turtle.circle(radius)
: Draw a circle with a given radius.
Tell Turtle’s State Commands
turtle.position()
|pos()
: Return the turtle’s current location (x,y)turtle.xcor()
: Return the turtle’s x coordinate.turtle.ycor()
: Return the turtle’s y coordinate.turtle.distance()
: Return the distance from the turtle’s current position to (x,y)
Pen Control Commands
pendown()
: Pull the pen down — drawing when moving.penup()
: Pull the pen up — no drawing when moving.pensize()
: Set the line thickness to width or return it.isdown()
: ReturnTrue
if the pen is down,False
if it’s up.turtle.pen(pen=None)
: Return or set the pen’s attributes in a “pen-dictionary”, attributes are following
{
'shown': true,
'pendown': true,
'pencolor': 'black',
'fillcolor': 'black',
'pensize': 3,
'speed': 3,
'resizemode':
'noresize',
'stretchfactor': (1.0, 1.0),
'shearfactor': 0.0,
'outline': 1, 'tilt': 0.0
}
Initial Turtle State
- Initial position: (0, 0)
- Initial direction: East (0°)
- Color: Black
- Line width: 1 pixel
- Pen State: down (ready to draw)
If you do not have an interest in the turtle library, check out the following post to see more competition programming tools.