Notes on using Python's turtle
built-in commands
Turtle graphics with turtle
Python has a library called turtle
that is part of the
standard python installation. To use it, you need only type:
from turtle import *
import turtle
In the turtle
package when you run a program with turtle
commands, a special window will open where the drawing will take
place.
Example turtle Code to Draw a Star
Turtle Star
from turtle import * color('red', 'yellow') begin_fill() while True: forward(200) left(170) if abs(pos()) < 1: break end_fill() done()
Complete turtle reference!
Below is a table that describes the turtle commands needed to begin.To see the complete set of turtle
commands go to the
official Python 3.1
turtle page.
Turtle commands
The commonly used commands available inturtle
are given
below. Click on any command to learn more about it.
degrees()
Sets the angle input method to degrees. All following angle inputs are assumed to be degree measures. This is the default setting.radians()
Sets the angle input method to radians. All following angle inputs are assumed to be radian measures.reset()
Resets everything to the default values, and clears the canvas. After a call toreset
, the canvas will be in exactly the same state
as it was when the import command was called: you will have a blank
canvas will the turtle (colored black with fill set to unfilled)
pointing to the right at the center (heading = 0.0).
clear()
Erases the entire canvas and redraws the turtle. Does not move the turtle.tracer(n=None, delay=None)
Turns turtle animation on/off and set delay for update drawings.If non-negative integer n is given, only each n-th regular screen update is performed. Can be used to accelerate the drawing of complex graphics. When called without arguments, returns the currently stored value of n. Second argument sets delay value (see delay()).
Turning the turtle off makes the turtle disappear and makes drawing
MUCH faster. Drawing commands are still executed
without the turtle, and lines are still drawn when the turtle is moved.
Use up
and down
to turn drawing on and off, or
just use the setx
, sety
, or goto
functions to move without drawing.
forward(distance)
Moves the turtle forwarddistance
, drawing a line behind
the turtle. The line will be drawn even if the turtle is turned off.
backward(distance)
Moves the turtle backwarddistance
, drawing a line along
the path taken. The line will be drawn even if the turtle is turned off.
left(angle)
Turns the turtle left byangle
. If degrees
has
been called (the default), angle
will be used as a degree
measure; if radians
has been called, angle
will be interpreted as a measure in radians.
right(angle)
Turns the turtle right byangle
. If degrees
has been called (the default), angle
will be used as a
degree measure; if radians
has been called,
angle
will be intrepreted as a measure in radians.
up()
Stops all drawing. Untildown
is called, nothing will be
drawn to the screen. Cursor movement will still take effect, however.
down()
Resumes drawing after a call toup
. Commands between the
up
and down
statements will not be drawn, but
commands after the down
statement will appear as normal.
width(width)
Sets the width of the line drawn using theforward
and
backward
commands.
color(*args)
Changes the current color. The current color is used for drawing lines usingforward
and backward
, as well as for
filling shapes when end_fill()
is called after
begin_fill()
. The color can be given as a single color
string (as in color("blue")
,
color("chocolate")
, color("peru")
,
color("#a0df00")
, or color("#1dead1")
). A
three-tuple of rgb float values (as in color((0.1,0.5,0.9))
or color((95/255., 12/255., 9/255.))
) can be used.
begin_fill()
Used to fill shapes. First, callbegin_fill()
, then proceed
to draw the outline of the shape to be filled. After the shape is done,
call end_fill()
. A line will be drawn from the current
turtle position to the position of the turtle when the
begin_fill()
command was called, and the resulting polygon
will be filled with the current color (the color of exterior lines will
also be changed). If any interior angle in the resulting polygon is
greater than 180°, however, the resulting filled polygon will only
include the first two line segments after the begin_fill()
statement, forming a triangle.