Open in App
Not now

# Python Program to print hollow half diamond hash pattern

• Difficulty Level : Basic
• Last Updated : 05 Aug, 2022

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