#### Magicdiamondpattern

p
```# Python program for generating diamond pattern in Python 3.7+

# Function to print upper half of diamond (pyramid)
def floyd(n):
"""
Print the upper half of a diamond pattern with '*' characters.

Args:
n (int): Size of the pattern.

Examples:
>>> floyd(3)
'  * \\n * * \\n* * * \\n'

>>> floyd(5)
'    * \\n   * * \\n  * * * \\n * * * * \\n* * * * * \\n'
"""
result = ""
for i in range(n):
for _ in range(n - i - 1):  # printing spaces
result += " "
for _ in range(i + 1):  # printing stars
result += "* "
result += "\n"
return result

# Function to print lower half of diamond (pyramid)
def reverse_floyd(n):
"""
Print the lower half of a diamond pattern with '*' characters.

Args:
n (int): Size of the pattern.

Examples:
>>> reverse_floyd(3)
'* * * \\n * * \\n  * \\n   '

>>> reverse_floyd(5)
'* * * * * \\n * * * * \\n  * * * \\n   * * \\n    * \\n     '
"""
result = ""
for i in range(n, 0, -1):
for _ in range(i, 0, -1):  # printing stars
result += "* "
result += "\n"
for _ in range(n - i + 1, 0, -1):  # printing spaces
result += " "
return result

# Function to print complete diamond pattern of "*"
def pretty_print(n):
"""
Print a complete diamond pattern with '*' characters.

Args:
n (int): Size of the pattern.

Examples:
>>> pretty_print(0)
'       ...       ....        nothing printing :('

>>> pretty_print(3)
'  * \\n * * \\n* * * \\n* * * \\n * * \\n  * \\n   '
"""
if n <= 0:
return "       ...       ....        nothing printing :("
upper_half = floyd(n)  # upper half
lower_half = reverse_floyd(n)  # lower half
return upper_half + lower_half

if __name__ == "__main__":
import doctest

doctest.testmod()
```