Skip to content
Related Articles
Open in App
Not now

Related Articles

Python Program to print hollow half diamond hash pattern

Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 05 Aug, 2022
Improve Article
Save Article

Give an integer N and the task is to print hollow half diamond pattern. Examples:

Input : 6
Output :
# 
# # 
#   # 
#     # 
#       # 
#         # 
#       # 
#     # 
#   # 
# # 
# 

Input : 7
Output :
# 
# # 
#   # 
#     # 
#       # 
#         # 
#           # 
#         # 
#       # 
#     # 
#   # 
# # 
#  

Approach: The idea is to break the pattern into two parts:

  • Upper part: For the upper half start the for loop with iterator (i) from 1 to n and one more for loop with iterator (j) from 1 to i.
# 
# # 
#   # 
#     # 
#       # 
#         # 
#           #  
  • Lower part: For lower half start the for loop with iterator (n-1) to 1 and loop inside this for will remain same as for the upper half.
#         # 
#       # 
#     # 
#   # 
# # 
#
  • Now we have to check this condition that if (i==j) or (j==1) then we have to print “#”, otherwise we have to print ” “(space).

Below is the implementation: 

Python3




# python program to print
# hollow half diamond star
 
 
# function to print hollow
# half diamond star
def hollow_half_diamond(N):
     
    # this for loop is for
    # printing upper half
    for i in range( 1, N + 1):
        for j in range(1, i + 1):
             
            # this is the condition to
            # print "#" only on the
            # boundaries
            if i == j or j == 1:
                print("#", end =" ")
                 
            # print " "(space) on the rest
            # of the area
            else:
                print(" ", end =" ")
        print()
     
    # this for loop is to print lower half
    for i in range(N - 1, 0, -1):
         
        for j in range(1, i + 1):
             
            if j == 1 or i == j:
                print("#", end =" ")
             
            else:
                print(" ", end =" ")
         
        print()
 
# Driver Code
if __name__ == "__main__":
    N = 7
    hollow_half_diamond( N )


Output:

# 
# # 
#   # 
#     # 
#       # 
#         # 
#           # 
#         # 
#       # 
#     # 
#   # 
# # 
# 

Time Complexity: O(N^2)

Space Complexity: O(1) as using constant space


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!