Let us see how to print an inverted heart pattern in Python.
Example:
Input: 11 Output: * *** ***** ******* ********* *********** ************* *************** ***************** ******************* ********************* ********* ******** ******* ****** ***** **** Input: 15 Output: * *** ***** ******* ********* *********** ************* *************** ***************** ******************* ********************* *********************** ************************* *************************** ***************************** ************* ************ *********** ********** ********* ******** ******* ******
Approach:
- Determine the size of the heart.
- Print an inverted triangle with size number of rows.
- Print the rest of the heart in 4 segments inside another loop.
- Print the white space right-triangle at the beginning.
- Print the first trapezium with stars.
- Print the white space triangle.
- 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)