Pattern Programs in Python [Star and Alphabetical Patterns]

This tutorial will teach you how to print various stars and alphabetical patterns in Python. Explore these pattern programs in Python and learn how nested for loops work. If you are looking for some of the best Python books, please don’t forget to check out this list.

Also ReadGraph Plotting in Python Using Matplotlib

Part 1: Star pattern programs in Python

pattern programs in python

1. Pyramid pattern program

# This program prints a pyramid pattern using a for loop

# Use a for loop to iterate over the number of rows in the pattern
for row in range(1, 6):
    # Use another for loop to print the number of spaces in each row
    for space in range(5 - row):
        print(" ", end="")
    # Use another for loop to print the number of stars in each row
    for star in range(2 * row - 1):
        print("*", end="")
    # After each row, print a newline character
    print()

This program uses a nested for loop to print the pyramid pattern. The outer for loop is used to iterate over the number of rows in the pattern, and the inner for loops are used to print the number of spaces and stars in each row.

The end parameter of the print() function is set to an empty string to prevent the spaces and stars from being printed on separate lines. This produces the following output:

    *
   ***
  *****
 *******
*********

Also ReadIntro to Threading in Python [Understand With Examples]

2. Hourglass Pattern

Here is a Python program that uses a for loop to print an hourglass pattern:

# This program prints an hourglass pattern using a for loop

# Use a for loop to iterate over the number of rows in the pattern
for row in range(1, 6):
    # If the current row is in the first or last half of the pattern,
    # print the number of spaces and stars in the current row
    if row <= 3:
        for space in range(3 - row):
            print(" ", end="")
        for star in range(2 * row - 1):
            print("*", end="")
    # If the current row is in the middle of the pattern,
    # print a row of 7 stars
    else:
        for star in range(7):
            print("*", end="")
    # After each row, print a newline character
    print()

This program uses a nested for loop to print the hourglass pattern. The outer for loop is used to iterate over the number of rows in the pattern, and the inner for loops are used to print the number of spaces and stars in each row.

The “end” parameter of the “print()” function is set to an empty string to prevent the spaces and stars from being printed on separate lines. This produces the following output:

  *
 ***
*****
 ***
  *

As with the other patterns, this is just one way to print an hourglass pattern using Python. There are many other variations and techniques that can be used to achieve different patterns and effects.

Also ReadUnderstanding How Print Statements in Python Work

3. Diamond Shape Pattern

Here is a simple program that prints a diamond-shaped pattern in Python:

# define the size of the diamond
n = 5

# use a for loop to print the top half of the diamond
for i in range(1, n+1):
  # print spaces on the left side of the diamond
  for j in range(1, n-i+1):
    print(" ", end="")
  # print stars in the middle of the diamond
  for j in range(1, 2*i):
    print("*", end="")
  # print spaces on the right side of the diamond
  for j in range(1, n-i+1):
    print(" ", end="")
  # move to the next line
  print()

# use a for loop to print the bottom half of the diamond
for i in range(1, n):
  # print spaces on the left side of the diamond
  for j in range(1, i+1):
    print(" ", end="")
  # print stars in the middle of the diamond
  for j in range(1, 2*(n-i)-1):
    print("*", end="")
  # print spaces on the right side of the diamond
  for j in range(1, i+1):
    print(" ", end="")
  # move to the next line
  print()

This program uses nested for loops to print the diamond pattern. The first for loop is used to print the top half of the diamond, and the second for loop is used to print the bottom half of the diamond.

Each line of the diamond is printed using three for loops: one to print the spaces on the left side of the diamond, one to print the stars in the middle of the diamond, and one to print the spaces on the right side of the diamond.

The number of spaces and stars on each line of the diamond is determined by the loop variables i and j, as well as the size of the diamond (n).

If you want to change the size of the diamond, you can change the value of n at the beginning of the program. For example, if you want to print a larger diamond, you could set n = 7 to print a diamond that is 7 rows tall. This produces the following output:

    *    
   ***   
  *****  
 ******* 
*********
 ****** 
  ****  
   **

Also ReadHow to Create a Neural Network in Python

4. Square Star Pattern

Here is one way to create a square star pattern in Python using nested for loops:

size = 5

for i in range(size):
    for j in range(size):
        if i == 0 or i == size-1 or j == 0 or j == size-1 or i == j or i + j == size - 1:
            print("*", end="")
        else:
            print(" ", end="")
    print()

This will produce the following output:

*****
*   *
*   *
*   *
*****

The outer for loop is used to iterate over the rows of the pattern, and the inner for loop is used to iterate over the columns. In each iteration, we check if the current row and column indices (i and j) satisfy any of the conditions for printing a star and print a star if they do. Otherwise, we print a space.

Also ReadOr Operator in Python

5. Reverse Star Pattern in Python

To create a reverse star pattern in Python, you can use for loops and print statements. Here is an example:

for i in range(5, 0, -1):
    for j in range(0, i):
        print("*", end="")
    print()

This code will print the following pattern:

*****
****
***
**
*

Also ReadNatural Language Processing in Python: Techniques

6. Triangle Star Pattern in Python

To create a triangle star pattern in Python, you can use for loops and print statements. Here is an example:

for i in range(1, 6):
    for j in range(0, i):
        print("*", end="")
    print()

This code will print the following pattern:

*
**
***
****
*****

The outer for loop controls the number of rows in the pattern, and the inner for loop prints the stars in each row. The end parameter in the print statement is used to prevent the stars in each row from being printed on separate lines.

To create a triangle star pattern with the base at the top, you can use a similar approach, but you will need to reverse the range in the outer for loop, like this:

for i in range(5, 0, -1):
    for j in range(0, i):
        print("*", end="")
    print()

This code will print the following pattern:

*****
****
***
**
*

You can also create a triangle star pattern with the base at the bottom, like this:

for i in range(1, 6):
    for j in range(0, 6 - i):
        print(" ", end="")
    for j in range(0, i):
        print("*", end="")
    print()

This code will print the following pattern:

    *
   **
  ***
 ****
*****

In this example, the first inner for loop is used to print the spaces before the stars in each row, and the second inner for loop is used to print the stars in each row. The end parameter in the print statement is used to prevent the spaces and stars in each row from being printed on separate lines.

Also ReadPython Reserved Words List With Definitions and Examples

7. Hollow Square Star Pattern in Python

To print a hollow square star pattern with diagonal in Python, you can try the following code:

size = int(input("Enter the size of the square: "))

for i in range(size):
    for j in range(size):
        if i == 0 or i == size-1 or j == 0 or j == size-1 or i == j or i+j == size-1:
            print("*", end="")
        else:
            print(" ", end="")
    print()

This code will ask the user to enter the size of the square and then print the square of the specified size with a hollow center and diagonal.

Here is an example output for a size of 5:

Enter the size of the square: 5
*****
*   *
* *
*   *
*****

Note that the diagonal of the square is formed by the “*” characters at the positions where i == j or i+j == size-1.

Also ReadHow to Fix Invalid Syntax Error in Python

8. Hollow Pyramid Star Pattern in Python

To make the pyramid hollow, you can modify the code to only print the stars on the first and last rows, and to only print the outermost stars on the other rows:

# define the number of rows in the pyramid
rows = 5

# loop through each row
for i in range(1, rows + 1):
  # print the spaces on the left side of the pyramid
  print(" " * (rows - i), end="")

  # if it's the first or last row, print the full row of stars
  if i == 1 or i == rows:
    print("*" * (i * 2 - 1), end="")
  # otherwise, only print the outermost stars on the row
  else:
    print("*" + " " * (i * 2 - 3) + "*", end="")

  # print the spaces on the right side of the pyramid
  print(" " * (rows - i))

This code will produce the following output:

    *
   * *
  *   *
 *     *
*********

Also ReadHow to Fix Unexpected EOF While Parsing Error In Python

Part 2: Alphabet pattern programs in Python

1. Right Triangle Alphabet Pattern

Here’s how you might create a right triangle alphabet pattern using Python:

# Print a new line at the start of each row
for i in range(26):
  print()

  # Print the letters for the current row
  for j in range(i + 1):
    c = chr(ord('A') + j)
    print(c, end=" ")

This code will print a right triangle pattern with 26 rows, with each row containing the letters of the alphabet from A to the current row number. For example, the first row will contain only the letter A, the second row will contain the letters A and B, and so on.

Output:

A 
A B 
A B C 
A B C D 
A B C D E 
A B C D E F 
A B C D E F G 
A B C D E F G H 
A B C D E F G H I 
A B C D E F G H I J 
A B C D E F G H I J K 
A B C D E F G H I J K L 
A B C D E F G H I J K L M 
A B C D E F G H I J K L M N 
A B C D E F G H I J K L M N O 
A B C D E F G H I J K L M N O P 
A B C D E F G H I J K L M N O P Q 
A B C D E F G H I J K L M N O P Q R 
A B C D E F G H I J K L M N O P Q R S 
A B C D E F G H I J K L M N O P Q R S T 
A B C D E F G H I J K L M N O P Q R S T U 
A B C D E F G H I J K L M N O P Q R S T U V 
A B C D E F G H I J K L M N O P Q R S T U V W 
A B C D E F G H I J K L M N O P Q R S T U V W X 
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 
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

Also ReadHow To Copy List in Python

2. Left Triangle Alphabet Pattern

Here’s how you might create a left triangle alphabet pattern using Python:

Code:

for i in range(1, 6):
    for j in range(65, 65+i):
        print(chr(j), end=" ")
    print("")

Output:

A 
A B 
A B C 
A B C D 
A B C D E

Also Read10 Best Programming Apps To Learn Python

3. Hollow Rectangle Alphabet Pattern

To create a hollow rectangle alphabet pattern in Python, you can use nested for loops and conditional statements. Here is an example:

# define the size of the pattern
size = 5

# use two nested for loops to iterate over the rows and columns
for i in range(size):
    for j in range(size):
        # if the current row is equal to the first or last row, or
        # the current column is equal to the first or last column,
        # print the alphabet
        if i == 0 or i == size - 1 or j == 0 or j == size - 1:
            print("A", end="")
        else:
            # otherwise, print a space
            print(" ", end="")
    # after each row is complete, print a newline
    print()

This code will produce the following output:

AAAAA
A   A
A   A
A   A
AAAAA

Note that you can adjust the pattern size by changing the value of the size variable. You can also modify the code to use different letters or symbols in the pattern.

Also ReadPython Program To Reverse A Number

4. Hollow pyramid alphabet pattern

To create a hollow pyramid pattern using characters, you can use a similar approach as the one described above. The only difference is that instead of using asterisks to create the pattern, you can use a different character.

Here is an example of how you can create a hollow pyramid pattern using the letter “X” as the character:

# Get the number of rows from the user
num_rows = int(input("Enter the number of rows: "))

# Use a nested for loop to print the pyramid pattern
for i in range(1, num_rows + 1):
    # Print the spaces
    for j in range(num_rows - i):
        print(" ", end="")

    # Print the Xs
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2:
            print("X", end="")
        else:
            print(" ", end="")

    # Move to the next line
    print()

This code will print a hollow pyramid pattern using the letter “X” as the character. The pattern will have the specified number of rows. For example, if the user enters 5, the pattern will look like this:

    X
   X X
  X   X
 X     X
XXXXXXXXX

As before, you can customize the code to make the pattern look exactly how you want it to. You can change the character used to create the pattern, the number of spaces between the characters, or any other aspect of the pattern.

Also ReadPython Program to Find Sum of Digits [5 Methods]

5. Diamond alphabet pattern

To create a diamond alphabet pattern in Python, you can use nested for loops. The outer loop will be used to print the rows, and the inner loop will be used to print the columns. You can use the print() function to print the pattern, using a combination of spaces and letters to create the diamond shape.

Here is an example of how you can create a diamond alphabet pattern in Python:

# Get the number of rows from the user
num_rows = int(input("Enter the number of rows: "))

# Use a nested for loop to print the diamond pattern
for i in range(-num_rows + 1, num_rows):
    # Calculate the absolute value of the current row
    row = abs(i)

    # Print the spaces
    for j in range(num_rows - row):
        print(" ", end="")

    # Print the letters
    for j in range(2 * row + 1):
        # Calculate the ASCII code for the current letter
        letter = ord("A") + row - abs(row - j)

        # Print the letter
        print(chr(letter), end="")

    # Move to the next line
    print()

This code will print a diamond alphabet pattern with the specified number of rows. For example, if the user enters 5, the pattern will look like this:

    A
   B B
  C   C
 D     D
E       E
 D     D
  C   C
   B B
    A

You can customize the code further to make the diamond pattern look exactly how you want it to. For example, you can change the number of spaces between the letters or use a different character instead of letters to create the pattern.

Also ReadPython Program To Check If A Number Is Perfect Square

6. Reverse Pyramid Alphabet Pattern

To create a reverse pyramid alphabet pattern in Python, you can use nested for loops. The outer loop will be used to print the rows, and the inner loop will be used to print the columns. You can use the print() function to print the pattern, using a combination of spaces and letters to create the reverse pyramid shape.

Here is an example of how you can create a reverse pyramid alphabet pattern in Python:

# Get the number of rows from the user
num_rows = int(input("Enter the number of rows: "))

# Use a nested for loop to print the reverse pyramid pattern
for i in range(num_rows, 0, -1):
    # Print the spaces
    for j in range(num_rows - i):
        print(" ", end="")

    # Print the letters
    for j in range(2 * i - 1):
        # Calculate the ASCII code for the current letter
        letter = ord("A") + i - 1

        # Print the letter
        print(chr(letter), end="")

    # Move to the next line
    print()

This code will print a reverse pyramid alphabet pattern with the specified number of rows. For example, if the user enters 5, the pattern will look like this:

Enter the number of rows: 5
EEEEEEEEE
 DDDDDDD
  CCCCC
   BBB
    A

Also ReadIncrement and Decrement Operators in Python

7. Heart Pattern

Here is a Python program that can print a heart character pattern:

# Get the total number of rows from the user
num_rows = int(input("Enter the number of rows: "))

# Create a loop to iterate over the number of rows
for i in range(1, num_rows+1):
    # Create another loop to print the spaces in the current row
    for j in range(1, num_rows-i+1):
        # Print a space character at the current position
        print(" ", end="")

    # Create another loop to print the heart character in the current row
    for j in range(1, i*2):
        # Print the heart character at the current position
        print("❤️", end="")

    # Move to the next line after printing the current row
    print()

Output:

Enter the number of rows: 4
   ❤️
  ❤️❤️❤️
 ❤️❤️❤️❤️❤️
❤️❤️❤️❤️❤️❤️❤️

This program works as follows:

  • First, it asks the user to input the number of rows to be printed in the heart pattern.
  • Then, it uses a loop to iterate over the number of rows. For each row, it creates two loops to print the spaces and the heart character in that row.
  • The first loop prints the spaces in the current row, and the second loop prints the heart character in the current row. The number of spaces in each row is equal to the number of rows minus the current row number, and the number of heart characters in each row is equal to twice the current row number.
  • In each iteration of the inner loops, the program prints the character at the current position, and then moves to the next line after printing the current row.
  • The end=” ” parameter in the print() function is used to print the characters in the same line, with a space between each character.
Scroll to Top