Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (2024)

Table of Contents
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

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)

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

  1. 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.

  2. Iterate rows

    Next, write an outer loop to Iterate the number of rows using a for loop and range() function.

  3. 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.

  4. Print star or number

    Use the print() function in each iteration of nested for loop to display the symbol or number of a pattern (like a star (asterisk *) or number).

  5. 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)

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 = stopCode 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 -= 1Code 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 -= 1Code 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 -= 1Code 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 + 2Code 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 -= 1Code 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 the char 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 += 2Code 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 += 1Code 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.

Python Programs to Print Pattern – Print Number, Pyramid, Star, Triangle, Diamond, and Alphabets Patterns (2024)
Top Articles
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 5499

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.