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+ 瀏覽次數

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.