在 Python 中打印形状

Print shape in Python

在 Python 中,我想打印星号的菱形 *:

到目前为止,我只知道如何制作正面朝上的金字塔:

def pyramid(n):
   for i in range(n):
       row = '*'*(2*i+1)
       print(row.center(2*n))

例如,如果调用的函数是print shape(7),那么它将打印[this image]。

有什么想法吗?

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)