使用字符打印设计门垫纹理的 Python 程序
pythonserver side programmingprogramming更新于 2025/12/19 3:56:17
假设我们有两个数字 n 和 m,m 是 n 的倍数。我们必须绘制一个门垫图案,中间有一个单词"WELCOME"。垫子尺寸为 n x m。我们必须使用点 (.)、连字符 (-)、管道符号 (|) 和中间的文本来制作这个垫子。
因此,如果输入为 n = 5 m = 15,则输出将是
------.|.------ ---.|..|..|.--- ----WELCOME---- ---.|..|..|.--- ------.|.------
要解决这个问题,我们将遵循以下步骤 −
- 对于 1 到 n-1 范围内的 i,增加 2,执行
- print((m-i*3)/2) 个 '-' 的整数,然后是 i 个 '.|.' 然后是整数((m-i*3)/2) 个 '-' 的数量
- print(((m-7)/2) 个 '-' 的整数,然后 'WELCOME',然后是 ((m-7)/2) 个 '-' 的整数)
- 对于 n-2 到 -1 范围内的 i,减少 2,执行
- print(((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------------------- ---.|..|..|..|..|..|..|..|..|..|..|..|..|.--- ------.|..|..|..|..|..|..|..|..|..|..|.------ ---------.|..|..|..|..|..|..|..|..|.--------- ------------.|..|..|..|..|..|..|.------------ ---------------.|..|..|..|..|.--------------- ------------------.|..|..|.------------------ ---------------------.|.---------------------
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

