# Drawing an ASCII Shape with Python

1 hour
• 4 Learning Objectives

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``

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.