Reputation: 155
In Python, I'd like to print a diamond shape of asterisks *
:
$
at the top half of the diamond (upper pyramid) where there isn't a *
, and &
at the bottom half of the diamond (lower pyramid) where there isn't a *
.So far, I only know how to make a pyramid that is right side up:
def pyramid(n):
for i in range(n):
row = '*'*(2*i+1)
print(row.center(2*n))
For example, if the function called was print shape(7)
, then it would print [this image].
Any ideas?
Upvotes: 0
Views: 10404
Reputation: 6030
def shape(n):
for i in range(2*n+ 1):
if (i < n):
print "$" * (n - i) + "*" * 2 * i + "$" * (n - i)
elif i == n:
print "*" * 2 * n
elif i > n:
print "&" * (i - n) + "*" * 2 * (2* n - i) + "&" * (i - n)
Upvotes: 1