使用字符打印门垫图案的Python程序

使用字符打印门垫图案的Python程序

假设我们有两个数n和m,其中m是n的倍数。我们必须绘制一个门垫模式,其中有一个单词“WELCOME”在中间。门垫的大小将为n x m。我们必须使用点(.),连字符(-),管道符号(|)和中间的文本制作此门垫。

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

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

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

  • 在范围为1到n-1的i中,每次增加2,执行以下操作:
    • 打印(“-”的整数((m-i3)/2)数量,然后是i个“. |”。然后是“ -”的整数((m-i3)/2)数量)
  • 打印(“-”的整数((m-7)/2)数量,然后是“ WELCOME”。然后是“-”的整数((m-7)/2)数量)
  • 在范围为n-2到-1的i中,每次减少2,执行以下操作:
    • 打印(“-”的整数((m-i3)/2)数量,然后是i个“. |”。然后是“ -”的整数((m-i3)/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-------------------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|..|..|..|..|.------
---------.|..|..|..|..|..|..|..|..|.---------
------------.|..|..|..|..|..|..|.------------
---------------.|..|..|..|..|.---------------
------------------.|..|..|.------------------
---------------------.|.---------------------

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程