Python 程序显示带有 2n-1 条线的菱形图案

pythonserver side programmingprogramming更新于 2025/12/19 2:52:17

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

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

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

为了解决这个问题,我们将遵循以下步骤 −

  • 对于 1 到 n 范围内的 i,执行

    • 打印一个块 '* ' i 次,并以对齐格式在中心打印,每行有 (2*n-1) 个字符的间距
  • 对于 n-1 到 0 范围内的 i,减少 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

输出

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

相关文章


有用资源