使用字母列印Rangoli圖案的Python程式


假設我們有一個數字n。我們必須建立一個n x n大小的字母Rangoli圖案。n必須在1到26之間,當n為26時,它將從a開始,到z結束。

因此,如果輸入是5,則輸出將是

--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------

為了解決這個問題,我們將遵循以下步驟:

  • 對於i從n-1到0遞減,執行:
    • 對於j從0到i-1,執行:
      • 列印"--"
    • 對於j從n-1到i+1遞減,執行:
      • 列印ASCII值為j+97的字元,並在末尾列印額外的"-"
    • 對於j從i到n-1,執行:
      • 如果j不等於n-1,則:
        • 列印ASCII值為j+97的字元,並在末尾列印額外的"-"
      • 否則:
        • 列印ASCII值為j+97的字元
    • 對於j從0到2*i - 1,執行:
      • 在末尾列印"-"
    • 轉到下一行
  • 對於i從1到n-1,執行:
    • 對於j從0到i,執行:
      • 列印"--"
    • 對於j從n-1到i+1遞減,執行:
      • 列印ASCII值為j+97的字元,並在末尾列印額外的"-"
    • 對於j從i到n-1,執行:
      • 如果j不等於n-1,則:
        • 列印ASCII值為j+97的字元,並在末尾列印額外的"-"
      • 否則:
        • 列印ASCII值為j+97的字元
    • 對於j從0到2*i - 1,執行:
      • 在末尾列印"-"
    • 轉到下一行

示例

讓我們看下面的實現來更好地理解

def solve(n):
   for i in range(n-1,-1,-1):
      for j in range(i):
         print(end="--")
      for j in range(n-1,i,-1):
         print(chr(j+97),end="-")
      for j in range(i,n):
         if j != n-1:
            print(chr(j+97),end="-")
         else:
            print(chr(j+97),end="")
      for j in range(2*i):
         print(end="-")
      print()
   for i in range(1,n):
      for j in range(i):
         print(end="--")
      for j in range(n-1,i,-1):
         print(chr(j+97),end="-")
      for j in range(i,n):
         if j != n-1:
            print(chr(j+97),end="-")
         else:
            print(chr(j+97),end="")
      for j in range(2*i):
         print(end="-")
   print()

n = 8
solve(n)

輸入

8

輸出

--------------h--------------
------------h-g-h------------
----------h-g-f-g-h----------
--------h-g-f-e-f-g-h--------
------h-g-f-e-d-e-f-g-h------
----h-g-f-e-d-c-d-e-f-g-h----
--h-g-f-e-d-c-b-c-d-e-f-g-h--
h-g-f-e-d-c-b-a-b-c-d-e-f-g-h
--h-g-f-e-d-c-b-c-d-e-f-g-h--
----h-g-f-e-d-c-d-e-f-g-h----
------h-g-f-e-d-e-f-g-h------
--------h-g-f-e-f-g-h--------
----------h-g-f-g-h----------
------------h-g-h------------
--------------h--------------

更新於:2021年10月11日

4K+瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.