Drawing an ASCII Shape with Python

1 hour
  • 4 Learning Objectives

About this Hands-on Lab

In this hands-on lab, we will use Python loops to format our output by attempting to draw a geometric shape composed of asterisks.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create an Executable File with the Python Interpreter Path Instruction at the Beginning
  1. Create a file called asciiShape.py:

    touch asciiShape.py
  2. Make it executable:

    chmod +x asciiShape.py
  3. Insert the instruction for the Python interpreter path:

    vim asciiShape.py
    #!/usr/bin/python3
Write Two `for` Loops, with One Nested in the Other, to Draw a Pyramid
length = 10
astr = "*"
for i in range(length):
    for j in range(length-i):
        print(" ", end='')
    print(astr)
    astr += "**"
Write a Loop to Draw an Upside-Down Pyramid of Proportional Size that Aligns with the First Pyramid
length -= 1
space = 1
astrNum = ((length*2)-1)
astr = "*" * astrNum
for i in range(length):
    print(" " + space * " " + astr)
    astrNum -= 2
    astr = "*" * astrNum
    space += 1
Test It by Saving and Executing the File
  1. Save and exit by pressing Escape, :wq, and Enter.

  2. Execute the file:

    ./asciiShape.py

Additional Resources

The final product of your lab needs to be this shape of any size you wish:

           *
          ***
         *****
        *******
       *********
      ***********
     *************
      ***********
       *********
        *******
         *****
          ***
           *

The Python path is:

/usr/bin/python3

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?