使用字符打印门垫纹理的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------------------- ---.|..|..|..|..|..|..|..|..|..|..|..|..|.--- ------.|..|..|..|..|..|..|..|..|..|..|.------ ---------.|..|..|..|..|..|..|..|..|.--------- ------------.|..|..|..|..|..|..|.------------ ---------------.|..|..|..|..|.--------------- ------------------.|..|..|.------------------ ---------------------.|.---------------------
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP