Python 程序展示带有 2n-1 行的菱形图案


假设我们有一个数字 n。我们必须用星号绘制一个带有 2n-1 行的菱形图案。前 1 到 n 行包含 1 到 n 个星号,接下来它们从 n-1 减小到 1。

因此,如果输入类似 n = 5,则输出将是

    *
   * *
  * * *
 * * * *
* * * * *
 * * * *
  * * *
   * *
    *

为了解决此问题,我们将执行以下步骤 −

  • 对于范围 1 到 n,执行

    • 打印块 '* ' i 次,并以齐平格式打印在中心,每行有 (2*n-1) 个字符间隔
  • 对于范围 n-1 到 0,减小 1,执行

    • 打印块 '* ' i 次,并以齐平格式打印在中心,每行有 (2*n-1) 个字符间隔

示例

让我们看看以下实现以更好地理解

def solve(n):
   for i in range(1,n+1):
      print(('* '*i).center(2*n-1))
   for i in range(n-1,0, -1):
      print(('* '*i).center(2*n-1))

n = 10
solve(n)

输入

10

输出

         *
        * *
       * * *
      * * * *
     * * * * *
    * * * * * *
   * * * * * * *
  * * * * * * * *
 * * * * * * * * *
* * * * * * * * * *
 * * * * * * * * *
  * * * * * * * *
   * * * * * * *
    * * * * * *
     * * * * *
      * * * *
       * * *
        * *
         *

更新于: 11-Oct-2021

1K+ 浏览次数

开启你的 职业生涯

完成课程以获得认证

开始
广告