Open In App
Related Articles

Python program to print the Inverted heart pattern

Improve Article
Improve
Save Article
Save
Like Article
Like

Let us see how to print an inverted heart pattern in Python.

Example:

Input: 11
Output:

          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************
*********************
 *********  ********
  *******    ******
   *****      **** 
   
Input: 15
Output:
              *
             ***
            *****
           *******
          *********
         ***********
        *************
       ***************
      *****************
     *******************
    *********************
   ***********************
  *************************
 ***************************
*****************************
 *************  ************
  ***********    **********
   *********      ********
    *******        ******

Approach:

  1. Determine the size of the heart.
  2. Print an inverted triangle with size number of rows.
  3. Print the rest of the heart in 4 segments inside another loop.
  4. Print the white space right-triangle at the beginning.
  5. Print the first trapezium with stars.
  6. Print the white space triangle.
  7. Print the second trapezium with stars.

Python3




# determining the size of the heart
size = 15
 
# printing the inverted triangle
for a in range(0, size):
    for b in range(a, size):
        print(" ", end = "")
    for b in range(1, (a * 2)):
        print("*", end = "")
    print("")
 
# printing rest of the heart
for a in range(size, int(size / 2) - 1 , -2):
 
    # printing the white space right-triangle
    for b in range(1, size - a, 2): 
        print(" ", end = "")
 
    # printing the first trapezium
    for b in range(1, a + 1):
        print("*", end = "")
 
    # printing the white space triangle
    for b in range(1, (size - a) + 1):
        print(" ", end = "")
 
    # printing the second trapezium
    for b in range(1, a):
        print("*", end = "")
 
    # new line
    print("")


Output:

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

 Time complexity: O(S2) for given input size S

Auxiliary Space: O(1)


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 05 Aug, 2022
Like Article
Save Article
Similar Reads
Related Tutorials