在Python中打印形状

时间:2015-07-12 03:42:04

标签: python loops for-loop while-loop

在Python中,我想打印一个菱形*的菱形:

  • $位于钻石上半部分(上金字塔),其中没有*
  • &位于钻石的下半部分(下金字塔),其中没有*

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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)