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
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='')
    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:


Additional Resources

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


The Python path is:


What are Hands-on Labs


Sign In
Welcome Back!

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

Get Started
Who’s going to be learning?