In this session, I will guide you through the process of effectively printing patterns in Python by using for loop, while loop, and the range() function. By the end of this lesson, you will clearly understand how to print patterns using these techniques. This lesson contains over 35+ patterns.
This article teaches you how to print the following patterns in Python.
- Number pattern
- Triangle pattern
- Star (*) or asterisk pattern
- Pyramid pattern
- Inverted pyramid pattern
- Half pyramid pattern
- Diamond Shaped pattern
- Characters or alphabets pattern
- Square pattern
![Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (1) Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (1)](https://i0.wp.com/pynative.com/wp-content/uploads/2018/06/pattern_in_python.png)
By printing different patterns, you can build a solid understanding of loops in Python. After reading this article, you can create various types of patterns.
Table of contents
- Steps to Print Pattern in Python
- Programs to print number pattern
- Pyramid pattern of numbers
- Inverted pyramid pattern of numbers
- Inverted Pyramid pattern with the same digit
- Another inverted half-pyramid pattern with a number
- Alternate numbers pattern using a while loop
- Reverse number pattern
- Reverse Pyramid of Numbers
- Another reverse number pattern
- Print reverse number from 10 to 1
- Number triangle pattern
- Pascal’s triangle pattern using numbers
- Square pattern with numbers
- Multiplication table pattern
- Pyramid pattern of stars in python
- Right triangle pyramid of Stars
- Downward half-Pyramid Pattern of Star
- Downward full Pyramid Pattern of star
- Right down mirror star Pattern
- Equilateral triangle pattern of star
- Print two pyramids of stars
- Right start pattern of star
- Left triangle pascal’s pattern
- Sandglass pattern of star
- Pant style pattern of stars
- Diamond-shaped pattern of stars
- Another diamond pattern of star
- Alphabets and letters pattern
- Pattern to display letter of the word
- Equilateral triangle pattern of characters/alphabets
- Pattern of same character
- More miscellaneous Patterns
- Pyramid of horizontal number tables
- Double the number pattern
- Random number pattern
- Pyramid of numbers less than 10
- Pyramid of numbers up to 10
- Even number pattern
- Unique pyramid pattern of digits
- Pattern double number on each column
- Number reduction pattern
- Pant style pattern of numbers
- Pattern with a combination of numbers and stars
- Practice Problem
- Next Steps
Steps to Print Pattern in Python
Use the below steps to print a pattern in Python
- Decide the number of rows and columns
There is a typical structure to print any pattern, i.e., the number of rows and columns. We need to use two loops to print any pattern, i.e., use nested loops.
The outer loop tells us the number of rows, and the inner loop tells us the column needed to print the pattern.
Accept the number of rows from a user using the
input()
function to decide the size of a pattern. - Iterate rows
Next, write an outer loop to Iterate the number of rows using a for loop and
range()
function. - Iterate columns
Next, write the inner loop or nested loop to handle the number of columns. The internal loop iteration depends on the values of the outer loop.
- Print star or number
Use the
print()
function in each iteration of nestedfor
loop to display the symbol or number of a pattern (like a star (asterisk*
) or number). - Add a new line after each iteration of the outer loop
Add a new line using the
print()
function after each iteration of the outer loop so that the pattern display appropriately
![Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (2) Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (2)](https://i0.wp.com/pynative.com/wp-content/uploads/2021/02/algorithm-and-steps-to-print-pattern-in-python.jpg)
Also, Solve:
- Python loop exercise
- Python Basic Exercise for Beginners
Programs to print number pattern
I have created various programs that print different styles of number patterns. Let’s see them one by one.
Let’s see the Python program to print the following simple number pattern using a for loop.
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
Program:
rows = 6# if you want user to enter a number, uncomment the below line# rows = int(input('Enter the number of rows'))# outer loopfor i in range(rows): # nested loop for j in range(i): # display number print(i, end=' ') # new line after each row print('')
Code language: Python (python)
In this number pattern, we displayed a single digit on the first row, the next two digits on the second row, And the following three numbers on the third row, and this process will repeat till the number of rows is reached.
Note:
- The count of numbers on each row is equal to the current row number.
- Also, each number is separated by space.
- We used a nested loop to print the pattern
Pyramid pattern of numbers
Let’s see how to print the following half-pyramid pattern of numbers
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Note: In each row, every next number is incremented by 1.
Program:
rows = 5for i in range(1, rows + 1): for j in range(1, i + 1): print(j, end=' ') print('')
Code language: Python (python)
Inverted pyramid pattern of numbers
An inverted pyramid is a downward pattern where numbers get reduced in each iteration, and on the last row, it shows only one number. Use reverse for loop to print this pattern.
Pattern
1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
Program
rows = 5b = 0# reverse for loop from 5 to 0for i in range(rows, 0, -1): b += 1 for j in range(1, i + 1): print(b, end=' ') print('\r')
Code language: Python (python)
Inverted Pyramid pattern with the same digit
Pattern: –
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Program: –
rows = 5num = rows# reverse for loopfor i in range(rows, 0, -1): for j in range(0, i): print(num, end=' ') print("\r")
Code language: Python (python)
Another inverted half-pyramid pattern with a number
Pattern: –
0 1 2 3 4 5 0 1 2 3 4 0 1 2 3 0 1 2 0 1
Program
rows = 5for i in range(rows, 0, -1): for j in range(0, i + 1): print(j, end=' ') print("\r")
Code language: Python (python)
Alternate numbers pattern using a while loop
Let’s see how to use the while loop to print the number pattern.
Pattern: –
1 3 3 5 5 5 7 7 7 7 9 9 9 9 9
Program: –
rows = 5i = 1while i <= rows: j = 1 while j <= i: print((i * 2 - 1), end=" ") j = j + 1 i = i + 1 print('')
Code language: Python (python)
Reverse number pattern
Let’s see how to display the pattern of descending order of numbers
Pattern 1: –
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1
This pattern is also called as a inverted pyramid of descending numbers.
Program: –
rows = 5# reverse loopfor i in range(rows, 0, -1): num = i for j in range(0, i): print(num, end=' ') print("\r")
Code language: Python (python)
Reverse Pyramid of Numbers
Pattern 2: –
1 2 1 3 2 1 4 3 2 1 5 4 3 2 1
Note: It is a downward increment pattern where numbers get increased in each iteration. At each row, the amount of number is equal to the current row number.
Program
rows = 6for i in range(1, rows): for j in range(i, 0, -1): print(j, end=' ') print("")
Code language: Python (python)
Another reverse number pattern
Pattern: –
5 4 3 2 1 4 3 2 1 3 2 1 2 1 1
Program: –
rows = 5for i in range(0, rows + 1): for j in range(rows - i, 0, -1): print(j, end=' ') print()
Code language: Python (python)
Print reverse number from 10 to 1
Pattern: –
13 26 5 410 9 8 7
Program: –
start = 1stop = 2current_num = stopfor row in range(2, 6): for col in range(start, stop): current_num -= 1 print(current_num, end=' ') print("") start = stop stop += row current_num = stop
Code language: Python (python)
Number triangle pattern
Let’s see how to print the right-angled triangle pattern of numbers
Pattern: –
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Program: –
rows = 6for i in range(1, rows): num = 1 for j in range(rows, 0, -1): if j > i: print(" ", end=' ') else: print(num, end=' ') num += 1 print("")
Code language: Python (python)
Pascal’s triangle pattern using numbers
To build the pascal triangle, start with “1” at the top, then continue placing numbers below it in a triangular pattern.
Each number is the numbers directly above it added together.
Pattern:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
Program: –
def print_pascal_triangle(size): for i in range(0, size): for j in range(0, i + 1): print(decide_number(i, j), end=" ") print()def decide_number(n, k): num = 1 if k > n - k: k = n - k for i in range(0, k): num = num * (n - i) num = num // (i + 1) return num# set rowsrows = 7print_pascal_triangle(rows)
Code language: Python (python)
Square pattern with numbers
Pattern: –
1 2 3 4 5 2 2 3 4 5 3 3 3 4 5 4 4 4 4 5 5 5 5 5 5
Program: –
rows = 5for i in range(1, rows + 1): for j in range(1, rows + 1): if j <= i: print(i, end=' ') else: print(j, end=' ') print()
Code language: Python (python)
Multiplication table pattern
Pattern: –
1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64
Program: –
rows = 8# rows = int(input("Enter the number of rows "))for i in range(1, rows + 1): for j in range(1, i + 1): # multiplication current column and row square = i * j print(i * j, end=' ') print()
Code language: Python (python)
Pyramid pattern of stars in python
This section will see how to print pyramid and Star (asterisk) patterns in Python. Here we will print the following pyramid pattern with Star (asterisk).
- Half pyramid pattern with stars(*)
- Full pyramid pattern with stars
- Inverted pyramid Pattern with stars
- Triangle pattern with stars
- Right-angled triangle pattern with stars
Simple half pyramid pattern: –
* * * * * * * * * * * * * * *
This pattern is also known as a right angle triangle pyramid.
Program: –
# number of rowsrows = 5for i in range(0, rows): # nested loop for each column for j in range(0, i + 1): # print star print("*", end=' ') # new line after each row print("\r")
Code language: Python (python)
Right triangle pyramid of Stars
Pattern: –
* * * * * * * * * * * * * * *
This pattern is also called as mirrored right triangle
Program: –
# number of rowsrows = 5k = 2 * rows - 2for i in range(0, rows): # process each column for j in range(0, k): # print space in pyramid print(end=" ") k = k - 2 for j in range(0, i + 1): # display star print("* ", end="") print("")
Code language: Python (python)
Alternative Solution:
rows = 5for j in range(1, rows+1): print("* " * j)
Code language: Python (python)
Downward half-Pyramid Pattern of Star
Pattern: –
* * * * * * * * * * * * * * *
Note: We need to use the reverse nested loop to print the downward pyramid pattern of stars
Program: –
rows = 5for i in range(rows + 1, 0, -1): # nested reverse loop for j in range(0, i - 1): # display star print("*", end=' ') print(" ")
Code language: Python (python)
Downward full Pyramid Pattern of star
Let’s see how to print reversed pyramid pattern in Python.
Pattern: –
* * * * * * * * * * * * * * * * * * * * *
Program:
rows = 5k = 2 * rows - 2for i in range(rows, -1, -1): for j in range(k, 0, -1): print(end=" ") k = k + 1 for j in range(0, i + 1): print("*", end=" ") print("")
Code language: Python (python)
Right down mirror star Pattern
Pattern: –
***** **** *** ** *
In this pattern, we need to use two nested while
loops.
Program: –
rows = 5i = rowswhile i >= 1: j = rows while j > i: # display space print(' ', end=' ') j -= 1 k = 1 while k <= i: print('*', end=' ') k += 1 print() i -= 1
Code language: Python (python)
Equilateral triangle pattern of star
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
Program: –
print("Print equilateral triangle Pyramid using asterisk symbol ")# printing full Triangle pyramid using starssize = 7m = (2 * size) - 2for i in range(0, size): for j in range(0, m): print(end=" ") # decrementing m after each loop m = m - 1 for j in range(0, i + 1): print("* ", end=' ') print(" ")
Code language: Python (python)
Print two pyramids of stars
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Program: –
rows = 6for i in range(0, rows): for j in range(0, i + 1): print("*", end=' ') print(" ")print(" ")for i in range(rows + 1, 0, -1): for j in range(0, i - 1): print("*", end=' ') print(" ")
Code language: Python (python)
Right start pattern of star
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * *
We also call this pattern as a right pascal’s triangle.
Program: –
rows = 5for i in range(0, rows): for j in range(0, i + 1): print("*", end=' ') print("\r")for i in range(rows, 0, -1): for j in range(0, i - 1): print("*", end=' ') print("\r")
Code language: Python (python)
Left triangle pascal’s pattern
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * *
Program: –
rows = 5i = 1while i <= rows: j = i while j < rows: # display space print(' ', end=' ') j += 1 k = 1 while k <= i: print('*', end=' ') k += 1 print() i += 1i = rowswhile i >= 1: j = i while j <= rows: print(' ', end=' ') j += 1 k = 1 while k < i: print('*', end=' ') k += 1 print('') i -= 1
Code language: Python (python)
Sandglass pattern of star
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
To print this pattern we need to use two set of three while loops.
Program: –
rows = 5i = 0while i <= rows - 1: j = 0 while j < i: # display space print('', end=' ') j += 1 k = i while k <= rows - 1: print('*', end=' ') k += 1 print() i += 1i = rows - 1while i >= 0: j = 0 while j < i: print('', end=' ') j += 1 k = i while k <= rows - 1: print('*', end=' ') k += 1 print('') i -= 1
Code language: Python (python)
Pant style pattern of stars
Pattern: –
***********************__*************____***********______*********________*******__________*****____________***______________*
Program: –
rows = 14print("*" * rows, end="\n")i = (rows // 2) - 1j = 2while i != 0: while j <= (rows - 2): print("*" * i, end="") print("_" * j, end="") print("*" * i, end="\n") i = i - 1 j = j + 2
Code language: Python (python)
Diamond-shaped pattern of stars
Pattern: –
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Program: –
rows = 5k = 2 * rows - 2for i in range(0, rows): for j in range(0, k): print(end=" ") k = k - 1 for j in range(0, i + 1): print("* ", end="") print("") k = rows - 2for i in range(rows, -1, -1): for j in range(k, 0, -1): print(end=" ") k = k + 1 for j in range(0, i + 1): print("* ", end="") print("")
Code language: Python (python)
Another diamond pattern of star
Pattern: –
* * * * * * ** * * * * * * * *
Program: –
rows = 5i = 1while i <= rows: j = rows while j > i: # display space print(' ', end=' ') j -= 1 print('*', end=' ') k = 1 while k < 2 * (i - 1): print(' ', end=' ') k += 1 if i == 1: print() else: print('*') i += 1i = rows - 1while i >= 1: j = rows while j > i: print(' ', end=' ') j -= 1 print('*', end=' ') k = 1 while k <= 2 * (i - 1): print(' ', end=' ') k += 1 if i == 1: print() else: print('*') i -= 1
Code language: Python (python)
Alphabets and letters pattern
In Python, there are ASCII values for each letter. To print the patterns of letters and alphabets, we need to convert them to their ASCII values.
- Decide the number of rows
- Start with ASCII number 65 ( ‘A’)
- Iterate a loop and in nested
for
loop use thechar
function to convert ASCII number to its equivalent letter.
Let’ see now how to print alphabets and letters patterns in Python.
Pattern: –
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \
This pattern is knows as right-angled pattern with characters.
Program: –
# ASCII number of 'A'ascii_number = 65rows = 7for i in range(0, rows): for j in range(0, i + 1): character = chr(ascii_number) print(character, end=' ') ascii_number += 1 print(" ")
Code language: Python (python)
Pattern to display letter of the word
Let’s see how to print word ‘Python’ in Pattern: –
PPyPytPythPythoPython
Program: –
word = "Python"x = ""for i in word: x += i print(x)
Code language: Python (python)
Equilateral triangle pattern of characters/alphabets
Pattern: –
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \
Program: –
print("Print equilateral triangle Pyramid with characters ")size = 7asciiNumber = 65m = (2 * size) - 2for i in range(0, size): for j in range(0, m): print(end=" ") m = m - 1 for j in range(0, i + 1): character = chr(asciiNumber) print(character, end=' ') asciiNumber += 1 print(" ")
Code language: Python (python)
Pattern of same character
Pattern: –
V V V V V V V V V V V V V V V
Program: –
# Same character patterncharacter = 'V'# convert char to ASCIIchar_ascii_no = ord(character)for i in range(0, 5): for j in range(0, i + 1): # Convert the ASCII value to the character user_char = chr(char_ascii_no) print(user_char, end=' ') print()
Code language: Python (python)
Let’s see some more miscellaneous patterns
More miscellaneous Patterns
Pyramid of horizontal number tables
Pattern: –
1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 10 20 30 40 50 60 70 80 90 100
Program: –
# Pyramid of horizontal tables of numbersrows = 10for i in range(1, rows + 1): for j in range(1, i + 1): print(i * j, end=' ') print()
Code language: Python (python)
Double the number pattern
Pattern: –
1 2 1 4 2 1 8 4 2 1 16 8 4 2 1 32 16 8 4 2 1 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1
Note: In each column, every number is double it’s the preceding number.
Program: –
rows = 9for i in range(1, rows): for j in range(-1 + i, -1, -1): print(format(2 ** j, "4d"), end=' ') print("")
Code language: Python (python)
Random number pattern
1 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 32 64 32 16 8 4 2 1 1 2 4 8 16 32 64 128 64 32 16 8 4 2 1
Program: –
rows = 9for i in range(1, rows): for i in range(0, i, 1): print(format(2 ** i, "4d"), end=' ') for i in range(-1 + i, -1, -1): print(format(2 ** i, "4d"), end=' ') print("")
Code language: Python (python)
Pyramid of numbers less than 10
Pattern: –
1 2 3 4 5 6 7 8 9
Program: –
current_num = 1stop = 2rows = 3for i in range(rows): for column in range(1, stop): print(current_num, end=' ') current_num += 1 print("") stop += 2
Code language: Python (python)
Pyramid of numbers up to 10
Pattern: –
1 2 3 4 5 6 7 8 9 10
Program: –
current_num = 1rows = 4stop = 2for i in range(rows): for column in range(1, stop): print(current_num, end=' ') current_num += 1 print("") stop += 1
Code language: Python (python)
Even number pattern
Pattern: –
10 10 8 10 8 6 10 8 6 4 10 8 6 4 2
Programs: –
rows = 5last_num = 2 * rowseven_num = last_numfor i in range(1, rows + 1): even_num = last_num for j in range(i): print(even_num, end=' ') even_num -= 2 print("\r")
Code language: Python (python)
Unique pyramid pattern of digits
Pattern: –
1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1
Program: –
rows = 6for i in range(1, rows + 1): for j in range(1, i - 1): print(j, end=" ") for j in range(i - 1, 0, -1): print(j, end=" ") print()
Code language: Python (python)
Pattern double number on each column
Pattern: –
0 0 1 0 2 4 0 3 6 9 0 4 8 12 16 0 5 10 15 20 25 0 6 12 18 24 30 36
Program: –
rows = 7for i in range(0, rows): for j in range(0, i + 1): print(i * j, end=' ') print()
Code language: Python (python)
Number reduction pattern
Pattern: –
1 2 3 4 5 2 3 4 5 3 4 5 4 5 5
Program: –
rows = 5for i in range(0, rows + 1, 1): for j in range(i + 1, rows + 1, 1): print(j, end=' ') print()
Code language: Python (python)
Pant style pattern of numbers
Pattern: –
5 4 3 2 1 1 2 3 4 5 5 4 3 2 2 3 4 5 5 4 3 3 4 5 5 4 4 5 5 5
Program: –
rows = 6for i in range(0, rows): for j in range(rows - 1, i, -1): print(j, '', end='') for l in range(i): print(' ', end='') for k in range(i + 1, rows): print(k, '', end='') print('\n')
Code language: Python (python)
Pattern with a combination of numbers and stars
Pattern: –
1 * 2 * 3 * 4 1 * 2 * 3 1 * 2 1
Program: –
row = 4for i in range(0, row): c = 1 print(c, end=' ') for j in range(row - i - 1, 0, -1): print('*', end=' ') c = c + 1 print(c, end=' ') print('\n')
Code language: Python (python)
Also, see how to calculate the sum and average in Python.
Practice Problem
Pattern: –
0 2 4 4 8 8 8 16 16 16
Solution: –
num = 4counter = 0for x in range(0, num): for y in range(0, x + 1): print(counter, end=" ") counter = 2 ** (x + 1) print()
Code language: Python (python)
Next Steps
Solve:
- Python Basic Exercise for Beginners
- Python exercise for beginners
- Python Quiz for beginners
If you don’t find the pattern you are looking for, let me know by leaving a comment and questions below.