We all know that Python offers a variety of libraries for game Development, GUI Development, Data Visualization, and many more. These libraries not only make our work easy but also make the code efficient and deployable. Keeping this thing in mind, today, in this article, we will discuss and learn about Graphics Programming by using a library named Turtle. Here, we will cover the basics of Python Turtle Shapes, with an in-depth explanation of code, and also share the output for your reference. Have we ever wondered how can Python help us in drawing shapes? Read and learn to find your answer.
Basically, we will cover all the different shapes that can be drawn using the Turtle library. We will also learn about adding colors to those shapes. This tutorial will emphasize on basics of the turtle library. If you are intermediate, we recommend visiting our Tutorials on Turtle Projects. Before moving ahead, let’s take a basic overview of what this library is used for and then kick-start our article Python Turtle Shapes.
Basic Overview
A pre-installed Python module called turtle gives users a virtual canvas on which to draw shapes and images. The library gets its name from the on-screen pen we will use to sketch, known as the turtle. In brief, the Python turtle library gives beginning programmers an engaging introduction to learning basic graphics programming. Now let’s start with the coding part of our article.
Drawing Different Python Turtle Shapes
1. Drawing a Square
import turtle t = turtle.Turtle() s = turtle.Screen() def draw_square(length): for i in range(0,4): t.forward(length) t.right(90) draw_square(100)
Explanation:
Line 1: We imported the turtle library
Line 3: Here we simply stored the constructor method named Turtle() in a variable named “t”. So we will simply use “t” instead of a turtle.Turtle()
Line 4: turtle.Screen() is used to display a canvas wherein we can draw our graphics.
Line 6: Now we have simply defined a function that will be responsible for drawing a square.
Line 7 to 11: Used a for loop. Inside that, we used the forward() and right() functions of the turtle library. In the end, we called our function by passing a length i.e 100.
Output:
Other Variations of Square
1. A square with green pen color
import turtle t = turtle.Turtle() s = turtle.Screen() t.pencolor("green") def draw_square(length): for i in range(0,4): t.forward(length) t.right(90) draw_square(100) s.exitonclick()
2. A square with a green pencolor and filled with a light-blue color
import turtle t = turtle.Turtle() s = turtle.Screen() t.fillcolor("light blue") t.pencolor("green") t.begin_fill() def draw_square(length): for i in range(0,4): t.forward(length) t.right(90) draw_square(100) t.end_fill() s.exitonclick()
2. Drawing a Circle
Here’s a very easy way to draw a circle in the turtle among all other shapes in Python Turtle Shapes. It would be quite time-consuming and tiresome to try to draw it using the same technique that you used for the square, so don’t even try it. Thankfully, there is a fix for this in the Python turtle library. To create a circle, just provide the following command:
import turtle t = turtle.Turtle() s = turtle.Screen() t.circle(60) s.exitonclick()
Explanation:
This circle() function from the turtle library allows a user to draw the circle of any radius. The circle’s radius is indicated by the number in brackets. By altering the circle’s radius value, you can make it larger or smaller.
- Syntax: t.circle(radius, extent=None, steps=None)
- radius: The circle’s circumference.
- extent: The arc-shaped portion of the circle in degrees.
- steps: Separate the form into the specified number of equal-sized steps.
Output:
Other Variations of Circle
1. Tangent circles
import turtle t = turtle.Turtle() s = turtle.Screen() # radius for smallest circle r = 10 # number of circles n = 10 # loop for printing tangent circles for i in range(1, n + 1, 1): t.circle(r * i) s.exitonclick()
2. Spiral circles
import turtle t = turtle.Turtle() s = turtle.Screen() # taking radius of initial radius r = 10 # Loop for printing spiral circle for i in range(100): t.circle(r + i, 45) s.exitonclick()
3. Drawing a Dot
import turtle t = turtle.Turtle() t.dot(40,"red") turtle.done()
Explanation:
This is another simplest shape that one can easily draw using the turtle library. To draw a dot, you don’t need any other logic. All you need to use is simply a dot() function.
- Syntax: t.dot(size=None, *color)
- size: an integer that is greater than or equal to 1
- color: name of the color or color tuple
Output:
Other Variations of Dot
Multiple colored dots of different size
import turtle turtle.delay(500) turtle.ht() # some dots with diameter and color turtle.dot(200, color="red") turtle.dot(180, color="orange") turtle.dot(160, color="yellow") turtle.dot(140, color="green") turtle.dot(120, color="blue") turtle.dot(100, color="indigo") turtle.dot(80, color="violet") turtle.dot(60, color="white") # write text turtle.write("CopyAssignment", align="center", font=('Verdana', 12, 'bold'))
4. Drawing a Rectangle
Now, moving on to drawing another shape in this article on Python Turtle Shapes. Here we will be drawing rectangles.
import turtle t = turtle.Turtle() s = turtle.Screen() def draw_rectangle(length, height): for i in range(0,4): if i % 2 == 0: t.forward(length) t.right(90) else: t.forward(height) t.right(90) draw_rectangle(200, 100)
Explanation:
Line 1 to 4: Basic import and adding screen (Refer here for detailed explanation)
Line 6 to 15: Here we defined a function that will take the length and height of the rectangle. In this function, we used a for loop in the range of 0 to 4. Now with the use of a conditional statement, we checked if i%2 is equal to 0 (basically checking whether “i” is even or not). If it is even then the turtle will move forward, with the units equal to the one we passed in length, and then will turn 90 degrees towards the right. If “i” is odd then the flow will enter in the else block.
Line 16: Until the mouse is clicked, this function is used to enter the main loop. There’s no need for debate about that.
Output:
5. Drawing an Ellipse/Oval
import turtle t = turtle.Turtle() s = turtle.Screen() def draw(rad): for i in range(2): turtle.circle(rad,90) turtle.circle(rad//2,90) turtle.seth(-45) draw(100) s.exitonclick()
Explanation:
Line 6: draw() function definition
Line 8 to 10: Used a for loop that will run in between the range of 0 to 2. We then used a turtle.circle() function. This function takes multiple arguments (Refer here for a detailed explanation). Here in our case, we passed “rad” and “90”. rad is equivalent to 100 and another argument 90 is the arc-shaped portion of the circle in degrees.
Now, we again used the circle function but this time we divided the rad by 2 and turned the turtle by 90 degrees.
Line 11: turtle.seth()
- Syntax 1: turtle.seth(to_what_angle)
- Syntax 2: turtle.setheading(to_what_angle)
- to_what_angle: a number (can be integer or float)
– Set the turtle’s orientation to angle. Here are a few typical directions (standard – mode) in degrees:
– East: 0, North:90, West: 180, South: 270
Output:
6. Drawing a Triangle
Moving on to our next shape. In this article on Python Turtle Shapes, we have covered many shapes till now. And drawing a triangle is much easier than the previous one. Let’s see how.
import turtle t = turtle.Turtle() t.forward(200) t.left(120) t.forward(200) t.left(120) t.forward(200)
Explanation:
Drawing triangle among other Python Turtle Shapes is very easy. All we have used are basic turtle functions like forward(), right(), etc. In order to draw an equivalent triangle, we used a 120-degree angle and so we passed 120 on left().
Output:
7. Drawing a Star
import turtle board = turtle.Turtle() # first triangle for star board.forward(100) board.left(120) board.forward(100) board.left(120) board.forward(100) board.penup() board.right(150) board.forward(50) # second triangle for star board.pendown() board.right(90) board.forward(100) board.right(120) board.forward(100) board.right(120) board.forward(100) turtle.done()
Explanation:
Whenever there’s a need to draw a star, at first we will simply make a simple triangle. Once that’s done, we need to draw an inverted triangle on our triangle. For that purpose, we need to lift the pen up, in order to take it to another place and then start drawing our inverted triangle.
For this purpose, we have used penup() on line 14. This will basically pick up the turtle once the normal triangle is drawn. Now, once we move our cursor to a different coordinate by using the right() and forward(), we will use pendown() so that turtle can start drawing again. This is the only difference between drawing a triangle and a star.
Output:
8. Drawing a Hexagon
import turtle s = turtle.Screen() t = turtle.Turtle() for i in range(6): t.forward(90) t.left(300) s.exitonclick()
Explanation:
The very last shape in the series of Python Turtle Shapes is Hexagon. This is almost similar to drawing a triangle. But the only difference is that here we will run the for loop for 6 times as the hexagon has 6 sides. Also, we will turn the turtle using the left() by 300. As the angle between each of the sides of the hexagon is the same, this loop will go on and display the hexagon once the code flow comes out of the for a loop.
Output:
Some Other Functions
Below are some of the functions that you can use while drawing the above shapes.
Function Name | Description |
---|---|
t.pencolor() | This function allows a user to change the color of the pen. It offers a wide range of standard colors like red, green, blue, and cyan, as well as options like light green, turquoise, sky blue, etc |
t.fillcolor() | The shapes that turtles draw can also be filled with a certain color. The line and fill colors are identical by default. |
t.shape() | One can also change the shape of the turtle. The six options for a turtle’s form provided by the Python library are “arrow,” “circle,” “classic,” “square,” “triangle,” and “turtle.” Turtles start out with the ‘traditional’ shape by default. |
Reference Links
- Tutorials on Various Logos and Shapes using Turtle: Click Here
- Official Turtle Docs: Click Here
Conclusion
All in all, in this article we tried to cover as many shapes as we can along with their detailed explanation. We hope this article on Python Turtle Shapes was of great help to you and a good learning experience. These shapes are the basics of a turtle. We encourage all our readers to try their level best and come up with new shapes. As mentioned earlier, we have a dedicated series on Python Turtle Shapes and Logos. We have included logos of many companies as well as very unique beginners to advanced-level turtle projects. Do explore and keep building. We will be back with amazing articles like Python Turtle Shapes very soon. violet-cat-415996.hostingersite.com
Thank you for reading this article.
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
- I Love You Program In Python Turtle
- Draw Python Logo in Python Turtle
- Space Invaders game using Python
- Draw Google Drive Logo Using Python
- Draw Instagram Reel Logo Using Python
- Draw The Spotify Logo in Python Turtle
- Draw The CRED Logo Using Python Turtle
- Draw Javascript Logo using Python Turtle
- Draw Dell Logo using Python Turtle
- Draw Spider web using Python Turtle