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)