使用字元列印門墊紋理的Python程式


假設我們有兩個數字n和m,m是n的倍數。我們必須使用一個詞語,例如“WELCOME”,在中間繪製一個門墊圖案。門墊尺寸將為n x m。我們必須使用點(.)、連字元(-)、豎線符號(|)和中間的文字來製作這個門墊。

因此,如果輸入類似於n = 5 m = 15,則輸出將為

------.|.------
---.|..|..|.---
----WELCOME----
---.|..|..|.---
------.|.------

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

  • 對於範圍從1到n-1,以2遞增的i,執行以下操作:
    • 列印(((m-i*3)/2)的整數個'-’、然後i個'.|.'、然後(((m-i*3)/2)的整數個'-’
  • 列印(((m-7)/2)的整數個'-’、然後'WELCOME'、然後(((m-7)/2)的整數個'-’
  • 對於範圍從n-2到-1,以2遞減的i,執行以下操作:
    • 列印(((m-i*3)/2)的整數個'-’、然後i個'.|.'、然後(((m-i*3)/2)的整數個'-’

示例

讓我們看看下面的實現,以便更好地理解

def solve(n, m):
   for i in range(1,n,2):
      print ('-'*int((m-i*3)/2)+'.|.'*i+'-'*int((m-i*3)/2))

   print('-'*int((m-7)/2)+'WELCOME'+'-'*int((m-7)/2))

   for i in range(n-2,-1,-2):
      print ('-'*int((m-i*3)/2)+'.|.'*i+'-'*int((m-i*3)/2))

n = 15
m = 45
solve(n, m)

輸入

15,45

輸出

---------------------.|.---------------------
------------------.|..|..|.------------------
---------------.|..|..|..|..|.---------------
------------.|..|..|..|..|..|..|.------------
---------.|..|..|..|..|..|..|..|..|.---------
------.|..|..|..|..|..|..|..|..|..|..|.------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
-------------------WELCOME-------------------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|..|..|..|..|.------
---------.|..|..|..|..|..|..|..|..|.---------
------------.|..|..|..|..|..|..|.------------
---------------.|..|..|..|..|.---------------
------------------.|..|..|.------------------
---------------------.|.---------------------

更新於:2021年10月11日

532 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.