使用字符打印门垫图案的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-------------------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|..|..|..|..|.------
---------.|..|..|..|..|..|..|..|..|.---------
------------.|..|..|..|..|..|..|.------------
---------------.|..|..|..|..|.---------------
------------------.|..|..|.------------------
---------------------.|.---------------------