How to generate a left arrow pattern with numbers in Python

Overview

In this shot, we’ll learn how to use for loops in Python to generate a left arrow pattern using numbers.

Description

We will use three for loops: one for the upper, one for the middle, and one for the lower part.

Code

Let’s look at the code below:

# Number of rows
n=6
# Upper part
for i in range((n - 1) // 2, 0, -1):
for j in range(i):
print(" ", end = " ")
print(i+1)
# Middle part
for i in range(n):
print(i+1, end = " ")
print()
# Lower part
for i in range(1, ((n - 1) // 2) + 1):
for j in range(i):
print(" ", end = " ")
print(i+1)

Code explanation

Line 2: We take the input for the number of rows.

Lines 5 to 8: We create a for loop to generate the upper portion of the arrow. The outer loop will only run twice because n-1 // 2 will give us 2 (for n = 6). The inner loop will run j times to print the spaces and, when it breaks, the outer loop will print i+1.

Lines 11 to 13: We create another for loop to generate the middle portion of the arrow. We print i+1 on each iteration. For example, i=0 at the first iteration. When we do i+1, it is 1. That is what is printed at the start. Finally, print() moves the cursor to the next line.

Lines 16 to 20: We create a for loop to generate the lower portion of the arrow.

Line 18: We use the end statement to stay on the same line.

Line 19: We use the print() statement to move to the next line.