# Python 3 implementation of above approach
def printPattern(n):
# for upper triangle
# $
# $ $ $
# $ $ $ $ $
# $ $ $ $ $ $ $
for r in range(0,n,1):
# for space
for i in range(r,n - 1,1):
print(" ",end = " ")
# for $
for i in range(0,2 * r + 1,1):
print("$",end = " ")
# new line
print("\n")
# for middle body
# $ $
# $ $ $ $
# $ $ $ $ $ $
# $ $ $ $ $ $ $
# $ $ $ $ $ $
# $ $ $ $
# $ $
for r in range(0,2 * n - 1,1):
if (r < n - 1):
# for body
# $ $
# $ $ $ $
# $ $ $ $ $ $
# for $
for i in range(0,r+1,1):
print("$",end = " ")
# for space
for i in range(0,2 * (n - r - 1)-2+1,1):
print(" ",end = " ")
# for $
for i in range(0,r+1,1):
print("$", end = " ")
elif (r == n - 1):
# for body
# $ $ $ $ $ $ $
# for $
for i in range(0,2 * r + 1,1):
print("$",end = " ")
else:
# for body
# $ $ $ $ $ $
# $ $ $ $
# $ $
# for $
i = 2 * n - 1
while(i > r):
print("$",end = " ")
i -= 1
# for space
for i in range(n,r+1,1):
print(" ",end = " ")
# for space
for i in range(n,r,1):
print(" ",end = " ")
# for $
i = 2 * n - 1
while(i > r):
print("$",end = " ")
i -=1
# new line
print("\n")
# for lower triangle
# $ $ $ $ $ $ $
# $ $ $ $ $
# $ $ $
# $
for r in range(0,n,1):
# for space
for i in range(0,r,1):
print(" ",end = " ")
# for $
for i in range(0,2 * (n - r) - 1,1):
print("$",end = " ")
# new line
print("\n")
# driver code
if __name__ == '__main__':
n = 4
printPattern(n)
# This code is contributed by
# Surendra_Gangwar