mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 01:00:15 +00:00
4d0a8f2355
* optimized recursive_bubble_sort * Fixed doctest error due whitespace * reduce loop times for optimization * fixup! Format Python code with psf/black push Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
# Python program for generating diamond pattern in Python 3.7+
|
|
|
|
|
|
# Function to print upper half of diamond (pyramid)
|
|
def floyd(n):
|
|
"""
|
|
Parameters:
|
|
n : size of pattern
|
|
"""
|
|
for i in range(0, n):
|
|
for j in range(0, n - i - 1): # printing spaces
|
|
print(" ", end="")
|
|
for k in range(0, i + 1): # printing stars
|
|
print("* ", end="")
|
|
print()
|
|
|
|
|
|
# Function to print lower half of diamond (pyramid)
|
|
def reverse_floyd(n):
|
|
"""
|
|
Parameters:
|
|
n : size of pattern
|
|
"""
|
|
for i in range(n, 0, -1):
|
|
for j in range(i, 0, -1): # printing stars
|
|
print("* ", end="")
|
|
print()
|
|
for k in range(n - i + 1, 0, -1): # printing spaces
|
|
print(" ", end="")
|
|
|
|
|
|
# Function to print complete diamond pattern of "*"
|
|
def pretty_print(n):
|
|
"""
|
|
Parameters:
|
|
n : size of pattern
|
|
"""
|
|
if n <= 0:
|
|
print(" ... .... nothing printing :(")
|
|
return
|
|
floyd(n) # upper half
|
|
reverse_floyd(n) # lower half
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(r"| /\ | |- | |- |--| |\ /| |-")
|
|
print(r"|/ \| |- |_ |_ |__| | \/ | |_")
|
|
K = 1
|
|
while K:
|
|
user_number = int(input("enter the number and , and see the magic : "))
|
|
print()
|
|
pretty_print(user_number)
|
|
K = int(input("press 0 to exit... and 1 to continue..."))
|
|
|
|
print("Good Bye...")
|